在用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 ***
loginOpen Browser    http://www.126.comInput Text    id=idInput    emailfortest2016Input Password    id=pwdInput    111112Click Element    id=loginBtnWait Until Element Is Visible    link=退出Click Element    link=退出Close Browser

  

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

  

  • 在使用Wait Until Element IsVisible关键字时指定timeout参数值为0。
*** Settings ***
Library           Selenium2Library*** Test Cases ***
loginOpen Browser    http://www.126.comInput Text    id=idInput    emailfortest2016Input Password    id=pwdInput    111112Click Element    id=loginBtnWait Until Element Is Visible    link=退出    timeout=0Click 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 ***
loginOpen Browser    http://www.126.comInput Text    id=idInput    emailfortest2016Input Password    id=pwdInput    111112Click Element    id=loginBtnClick Element    link=退出Close Browser

  

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

*** Settings ***
Library           Selenium2Library    implicit_wait=5*** Test Cases ***
loginOpen Browser    http://www.126.comInput Text    id=idInput    emailfortest2016Input Password    id=pwdInput    111112Click Element    id=loginBtnClick Element    link=退出Close Browser

  

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

*** Settings ***
Library           Selenium2Library*** Test Cases ***
loginOpen Browser    http://www.126.comInput Text    id=idInput    emailfortest2016Input Password    id=pwdInput    111112Click Element    id=loginBtnSet Selenium Implicit Wait    5Click 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 timeout 设置问题

    Robot framework 引入 Selenium2Library 类库: 在用robotframework-selenium2library做web自动化测试时候,首先要将Selenium2Li ...

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

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

  3. Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试

    最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...

  4. Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库

    1. 创建测试工程 RIDE工具中有Project概念,实际上Robot Framework中是没有工程的概念,可以理解为最顶层的测试套. 1.1. 新建测试工程 点击 File–>New Pr ...

  5. Robot Framework自动化测试解决selenium2library加载失败

    =======所需环境=================== Python: https://www.python.org/ RF框架是基于python 的,所以一定要有python环境. Robot ...

  6. Robot Framework(十八) 支持工具

    5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...

  7. robot framework环境搭建

    一. robot framework环境搭建: 官网:http://robotframework.org/ 序号 安装包名 安装方法 下载地址 备注 1 python exe文件,直接双击安装 htt ...

  8. robot framework环境搭建(转)

    一. robot framework环境搭建: 官网:http://robotframework.org/ 序号 安装包名 安装方法 下载地址 备注 1 python exe文件,直接双击安装 htt ...

  9. Robot Framework自动化测试(六)--- robotremoteserver使用

    robotremoteserver 是什么? Python Remote Server for Robot Framework 下载地址:https://pypi.python.org/pypi/ro ...

最新文章

  1. PlanAhead 与时序分析
  2. 信息学奥赛一本通(2052:【例3.2】范围判断)
  3. 使用它tshark分析pcap的例子以及scapy下载地址
  4. maven导入jar失败
  5. python三维可视化图,如何使用Python在(交互式)3D中可视化图形?
  6. 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身
  7. 基于LVDS的高速自同步串行传输系统的研究
  8. DB9,DB25,USB-A,USB-B,USB-mini,USB-typeC 接口定义
  9. 前端开发工具有哪些?哪一款最好用?
  10. 学习笔记(5):Google开发专家带你学 AI:入门到实战(Keras/Tensorflow)(附源码)-深度学习“四件套”:数据、模型、损失函数与优化器...
  11. centos7 polkitd[661]: Unregistered Authentication Agent for unix-process:1781:115097 (system bus nam
  12. 如何取得AS400访问,一窥究竟
  13. 去除win10快捷方式的小箭头
  14. php 查询每个一号,SPOT系列卫星参数一览表 - 高分一号、高分二号卫星查询遥感数据购买 - 新闻资讯 - 遥感卫星影像数据查询中心-北京揽宇方圆-购买高分卫星影像...
  15. 回文素数(10亿)—— unfinished
  16. C语言入门,编写程序,输出两个整数中的较大值。
  17. 53. 验证外星语词典
  18. Tornado笔记——用Tornado搭建假单统计考勤系统(九)
  19. 设置IE10为非兼容性视图
  20. python爬虫(16)使用scrapy框架爬取顶点小说网

热门文章

  1. Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)
  2. 关于微信公众平台表情代码的记录
  3. sqlite3数据库教程
  4. Windows7配置GPU和Theano编程环境
  5. 浏览器阻止window.open的解决方案
  6. Linux进程管理(第二版) --进程管理命令
  7. SVG PATH d参数的 ace
  8. Ofbiz 电子商务平台
  9. PostgreSQL学习手册(角色和权限) 转
  10. JDK7新特性简单翻译介绍