在用robotframework-selenium2library做web自动化测试时候,首先要将Selenium2Library导入到Test Suite中,在导入Selenium2Library时可以指定以下可选参数:

  • timeout=5.0
  • implicit_wait=0.0
  • run_on_failure=Capture Page Screenshot
  • screenshot_root_directory=None
  • 导入Selenium2Library库时,设置timeout参数值为0。
*** Settings ***
Library Selenium2Library timeout=0 *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Wait Until Element Is Visible link=退出
Click Element link=退出
Close Browser

  

  • 在测试用例中通过关键字Set SeleniumTimeout设置参数值为0。
*** Settings ***
Library Selenium2Library *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Set Selenium Timeout 0
Wait Until Element Is Visible link=退出
Click Element link=退出
Close Browser

  

  • 在使用Wait Until Element IsVisible关键字时指定timeout参数值为0。
*** Settings ***
Library Selenium2Library *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Wait Until Element Is Visible link=退出 timeout=0
Click Element link=退出
Close Browser

  

如果三种方式对timeout参数设置了不同的值,根据就近原则关键字参数中设置的timeout参数会对当前关键字生效,但是通过导入参数和通过Set SeleniumTimeout设置参数改变的是全局的timeout值。 
个人认为在实际的通常项目的测试过程中全局默认的5s超时时间比较合理,所以不需要在导入Selenium2Library库时指定timeout参数,也不需要通过Set SeleniumTimeout在测试用例中修改timeout参数值,当特殊的测试测试步骤或者测试场景需要修改timeout参数值时,可以通过在关键字中指定timeout参数值使其在局部生效。

implicit_wait


implicit_wait是selenium查找元素时的一个隐含超时时间,默认值为0。对上面的用例做一点修改,不采用Wait Until Element Is Visible来判断元素是否可见,而直接操作元素,用例脚本如下:

*** Settings ***
Library Selenium2Library *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Click Element link=退出
Close Browser

  

执行测试用例时会报查找不到元素的错误,因为在执行Click Element link=退出 时页面还没加载完成,implicit_wait的值为0,selenium在查找不到元素时立刻返回错误。 
我们在导入selenium库时将implicit_wait设置为5秒,用例脚本如下:

*** Settings ***
Library Selenium2Library implicit_wait=5 *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Click Element link=退出
Close Browser

  

再次执行用例脚本可正常执行。 
也可以通过关键字Set Selenium Implicit Wait来设置全局的implicit_wait值,如下用例脚本也能正常执行。

*** Settings ***
Library Selenium2Library *** Test Cases ***
login
Open Browser http://www.126.com
Input Text id=idInput emailfortest2016
Input Password id=pwdInput 111112
Click Element id=loginBtn
Set Selenium Implicit Wait 5
Click Element link=退出
Close Browser

  

个人认为在实际测试过程中不需要设置implicit_wait值,在对页面或者元素进行操作前都通过Wait …关键字先判断页面是否加载完成或者元素是否可见,这样测试脚本的健壮性会更好。

run_on_failure


当Selenium2Library某个关键字执行失败时将指定运行关键字run_on_failure。

*** Settings ***
Library Selenium2Library run_on_failure=Capture Page Screenshot

默认可以使用Capture Page Screenshot来截取当前页面内容。使用值’Nothing’可以完全禁用该功能。

screenshot_root_directory


screenshot_root_directory指定了Capture Page Screenshot关键字截取页面图片的存放路径。如果没有指定那么截图图片会默认存放在robotframework日志文件存放路径。

Robot framework 引入 Selenium2Library 类库:的更多相关文章

  1. Robot Framework 自动化测试 Selenium2Library 库 用法

    Robot Framework自动化测试Selenium2Library库详细用法 一.浏览器驱动   通过不同的浏览器执行脚本.   Open Browser Htpp://www.xxx.com ...

  2. Robot Framework自动化测试Selenium2Library库详细用法

    一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internete ...

  3. Robot Framework自动化测试(二)---元素定位

    说明: 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了seleni ...

  4. Robot Framework自动化测试---元素定位

    不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的 ...

  5. Robot Framework用法总结

    今天总结下Robot Framework最基本的用法,一来呢,希望自己以后看到这篇总结,很快能回忆起如何使用Robot Framework.二来呢,以初学者的姿态总结Robot Framework,希 ...

  6. 【转】Robot Framework用法总结

    今天总结下Robot Framework最基本的用法,一来呢,希望自己以后看到这篇总结,很快能回忆起如何使用Robot Framework.二来呢,以初学者的姿态总结Robot Framework,希 ...

  7. [Robot Framework] 执行时报 webdriver 异常

    在用Robot Framework通过Selenium2Library做web界面自动化测试的时候,报webdriver的错误: 此种情况是因为WebDriver的版本与浏览器的版本不对应. WebD ...

  8. Robot Framework自动化测试二(元素定位)

    前言 在学习的过程中,可能会误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加 ...

  9. Robot Framework 初学者上手资料

    首先要声明一下这是从http://www.cnblogs.com/yufeihlf/p/5949984.html拷贝的. 在这里只是自己的一个笔记,方便日后添加.修改内容. 总结下Robot Fram ...

随机推荐

  1. Windows系统——后缀为.zip.00X的zip分卷解压

    Windows下后缀为*.zip.001文件的解压方法: 后缀为*.zip.001文件用winrar无法解压, 解决办法是在windows下打开命令行界面, 输入:copy /B xx.zip.001 ...

  2. pdf生成(itextSharp)

    最近在工作中遇到一个问题,客户要求将系统中的表格全部导出成PDF格式.经过搜索,基本是三种思路: 直接用byte写PDF文件.(算你狠,霸王硬上弓) 通过Com组件转换.以Adobe Acrobat为 ...

  3. 【VBA】Do While……Loop循环,遍历某列

    [说明] Do While……Loop循环,遍历某列 i = Do While Trim(T_sh.Cells(i, NOTESID_COL)) <> "" If T_ ...

  4. CDOJ 1256 二维前缀和处理

    昊昊喜欢运动 他NN 天内会参加MM 种运动(每种运动用一个[1,m][1,m] 的整数表示) 舍友有QQ 个问题 问昊昊第ll 天到第rr 天参加了多少种不同的运动 Input 输入两个数NN , ...

  5. bzoj 2563 贪心 思想

    BZOJ2563阿狸和桃子的游戏   2563: 阿狸和桃子的游戏 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 952  Solved: 682[Su ...

  6. Bzoj1974 [Sdoi2010]auction 代码拍卖会

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 375  Solved: 151 Description 随着iPig在P++语言上的造诣日益提升,他形成 ...

  7. SQL:某个字段重复的时候只查询出最后插入的那条

    原文发布时间为:2009-04-11 -- 来源于本人的百度文章 [由搬家工具导入] 数据库com中有下列数据 id,userid,tupian,time 1 3 3 2006.3.5 2 4 4 2 ...

  8. sokect数据压缩实现

    上一篇文章说到了用Java Socket来传输对象,但是在有些情况下比如网络环境不好或者对象比较大的情况下需要把数据对象进行压缩然后在传输,此时就需要压缩这些对象流,此时就 可以GZIPInputSt ...

  9. 【转载】Word2010编号列表&多级列表

    1.引用场景         对于一份标准.漂亮的word文档,编号列表和多级列表的设置时必不可少的,正因为有它们,文档看起来才更专业,使用起来才更加的方便.如下面截图一般,这是十分常见的多级列表设置 ...

  10. 在DB2中使用EXPORT实现将数据导出文本文件

    EXPORT TO "D:/test.txt" OF DEL SELECT loginname,password FROM cm_staff where loginname = ' ...