Robot

上一篇 / 下一篇  2012-07-13 17:53:28 / 个人分类:自动化测试

RobotFramework基础篇(转)

RobotFrameWork是一个基于keyword的用于验收测试的自动化框架。(官方地址点击这里)如果使用来做基本web验收测试,需要下载seleniumlibrary,robotframework, ride, 其中ride使用了wxpython编写,需要安装对应的包wxPython来支持。

它的后端是一个selenium server, RF提供了一个Library与selenium server进行通信(seleniumlibrary),同时有一个面向测试人员的一个IDE (ride),用来编写测试案例使用。案例的解析等之类的工作由robotframework(robot)来进行。

这里记录下使用的一些心得:

1. 安装完毕后,将python和python\Scripts两个文件夹加入到环境中,便于后面操作

2.调试脚本的时候,通过批处理文件单独启动selenium server。(也可以在测试脚本中通过start selenium server启动)

 大致如下:

  1. @echo off  
  2. java -jar D:\python27\lib\site-packages\SeleniumLibrary\lib\selenium-server.jar -userExtensions D:\python27\lib\site-packages\SeleniumLibrary\lib\user-extensions.js -firefoxProfileTemplate D:\python27\lib\site-packages\SeleniumLibrary\firefoxprofile  


好处是调试的时候出现失败的概率挺高,如果直接用start selenium server来启动,脚本执行失败后,没有stop 掉,下次再执行的时候,可能会造成端口的冲突

等到调试一些OK了,可以将启动/关闭selenium server的操作放置到测试案例中。

3. 上面的user-extensions.js文件中可以用来加入扩展,比如加入jquery的扩展,就可以使用jquery的语法来寻找元素,如下:

  1. Selenium.prototype.locateElementByJQuerySelector = function(locator, inDocument, inWindow) {  
  2.     var loc = locator.replace(/>/g, '>');  
  3.     loc = loc.replace(/</g, '<');  
  4.     var element;  
  5.     try {  
  6.         element = $(inDocument).find(loc);  
  7.     } catch (e) {  
  8.         return null;  
  9.     }  
  10.     if (element.length == 1 ) {  
  11.         return element[0];  
  12.     } else if(element.length > 1) {  
  13.         return element.get();  
  14.     } else {  
  15.         return null;  
  16.     }  
  17. }  


TAG:

 

评分:0

我来说两句

日历

« 2024-05-16  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 151690
  • 日志数: 33
  • 建立时间: 2012-06-27
  • 更新时间: 2013-04-02

RSS订阅

Open Toolbar