Robot
上一篇 /
下一篇 2012-07-13 17:53:28
/ 个人分类:自动化测试
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启动)
大致如下:
- @echo off
- 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
@echo off
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的语法来寻找元素,如下:
- Selenium.prototype.locateElementByJQuerySelector = function(locator, inDocument, inWindow) {
- var loc = locator.replace(/>/g, '>');
- loc = loc.replace(/</g, '<');
- var element;
- try {
- element = $(inDocument).find(loc);
- } catch (e) {
- return null;
- }
- if (element.length == 1 ) {
- return element[0];
- } else if(element.length > 1) {
- return element.get();
- } else {
- return null;
- }
- }
收藏
举报
TAG: