Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库。

1、你懂 Python 语言。

2、又想使用 Robot Framework 测试框架,因为它提供了很好的测试报告。

百度搜索实例


创建 py_robot.py 文件,代码如下:

  1. from robot.api import TestSuite
  2. from robot.api import ResultWriter
  3. from robot.model import Keyword
  4. # 百度搜索测试
  5. class BaiduSearchTest:
  6. def __init__(self, name, librarys=["SeleniumLibrary"]):
  7. # 创建测试套件
  8. self.suite = TestSuite(name)
  9. # 导入SeleniumLibrary
  10. for lib in librarys:
  11. self.suite.resource.imports.library(lib)
  12. # 定义变量
  13. def create_variables(self):
  14. variables = {
  15. "${baidu}": "https://www.baidu.com",
  16. "${browser}": "Chrome",
  17. "${search_input}": "id=kw",
  18. "${search_btn}": "id=su"
  19. }
  20. for k, v in variables.items():
  21. self.suite.resource.variables.create(k, v)
  22. # 测试用例:启动浏览器
  23. defopen_browsers(self):
  24. test_01 = self.suite.tests.create("启动浏览器")
  25. test_01.keywords.create("Open Browser",
  26. args=["${baidu}", "${browser}"])
  27. test_01.keywords.create("Title Should Be",
  28. args=["百度一下,你就知道"])
  29. # 测试用例:百度搜索测试
  30. defsearch_word(self):
  31. test_02 = self.suite.tests.create("百度搜索测试")
  32. test_02.keywords.create("Input Text",
  33. args=["${search_input}", "测试教程网"])
  34. test_02.keywords.create("Click Button",
  35. args=["${search_btn}"])
  36. test_02.keywords.create("Sleep", args=["5s"])
  37. # 测试用例:断言验证搜索结果标题
  38. defassert_title(self):
  39. test_03 = self.suite.tests.create("断言验证搜索结果标题")
  40. test_03.keywords.create("Title Should Be",
  41. args=["测试教程网_百度搜索"])
  42. # 测试用例:关闭测试用例
  43. defclose_browsers(self):
  44. test_04 = self.suite.tests.create("关闭浏览器")
  45. test_04.keywords.create("Close All Browsers")
  46. # 运行
  47. defrun(self):
  48. self.create_variables()
  49. self.open_browsers()
  50. self.search_word()
  51. self.assert_title()
  52. self.close_browsers()
  53. # 运行套件
  54. result = self.suite.run(critical="百度搜索",
  55. output="output.xml")
  56. # 生成日志、报告文件
  57. ResultWriter(result).write_results(
  58. report="report.html", log="log.html")
  59. if __name__ == "__main__":
  60. print("用Python写Robot Framework测试")
  61. suite = BaiduSearchTest("百度搜索测试套件")
  62. suite.run()

这段代码的运行通过 python 命令来执行。

  1. > python py_robot.py
  2. PythonRobot Framework测试
  3. ==============================================================================
  4. 百度搜索测试套件
  5. ==============================================================================
  6. 启动浏览器
  7. DevTools listening on ws://127.0.0.1:12950/devtools/browser/bcbf14bb-ebc4-425c-882f-44531afd9689
  8. 启动浏览器 | PASS |
  9. ------------------------------------------------------------------------------
  10. 百度搜索测试 | PASS |
  11. ------------------------------------------------------------------------------
  12. 断言验证搜索结果标题 | PASS |
  13. ------------------------------------------------------------------------------
  14. 关闭浏览器 | PASS |
  15. ------------------------------------------------------------------------------
  16. 百度搜索测试套件 | PASS |
  17. 0 critical tests, 0 passed, 0 failed
  18. 4 tests total, 4 passed, 0 failed
  19. ==============================================================================
  20. Output: D:\rf_test\robotSe\output.xml

Robot Framework 用的好,Python 少不了!所以,我的建议是要想用好 Robot Framework 必须要学习和掌握 Python 语言。

用 Python 写 Robot Framework 测试的更多相关文章

  1. Robot Framework测试框架学习笔记

    一.Robot Framework框架简介         Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发.可以 ...

  2. Robot FrameWork测试案例

    Robot FrameWork是一个自动测试框架,可到官网查看详细介绍. 安装 Robot Framework 本文中的Robot framework安装在Win7 (32 bit) 平台上. 接下来 ...

  3. python+request+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  4. Robot Framework测试框架用例脚本设计方法

    Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动 ...

  5. 搭建jenkins+python+selenium+robot framework环境

    1.安装jenkins 具体参考:https://www.cnblogs.com/dydxw/p/10538103.html 2.下载插件 我是为了方便,把有关python.selenium.robo ...

  6. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

  7. robot framework测试驱动无法定位页面元素

    robot framework错误提示: [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: NoSuchW ...

  8. Jenkins上配置Robot Framework测试邮件通知模板

    邮件效果 测试成功如下所示: jenkins_robot_success 测试失败如下所示: jenkins_robot_failure 通过这个模板,我们能够很直观地看出测试的执行情况,以及相关的统 ...

  9. python解析robot framework的output.xml,并生成html

    一.背景 Jenkins自动构建RF脚本,生成的RF特有HTML报告不能正常打开. 需求:用Python解析测试报告的xml数据,放在普通HTML文件中打开 二.output.xml数据 三.用pyh ...

随机推荐

  1. Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。

    题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就 ...

  2. Ubantu和CentOS设置静态ip

    Ubantu设置ip: 1.sudo vim /etc/NetworkManager/NetworkManager.conf 将false改成true 2.修改配置文件/etc/network/int ...

  3. selenium ide界面介绍

    Selenium Ide是firefox浏览器的一个插件,可以进行web的录制和回放,完成简单的自动化测试,同时可以将录制的脚本导出多种语言的脚本. 下面是Selenium Ide的界面: Base  ...

  4. 【C++】STL算法之remove_if

    之前写过这样一段代码: auto iter=remove_if(AllEdges.begin(),AllEdges.end(),[&](Edge* edge){return _isEedge( ...

  5. sqoop2问题解决

    sqoop:000> show version --serverException has occurred during processing command Exception: org.a ...

  6. centos openvpn 安装

    安装环境: 系统:centos 6.5 openvpn:openvpn-2.2.1 lzo:lzo-2.09    下载地址:http://www.oberhumer.com/opensource/l ...

  7. PAT1026 (大模拟)

    A table tennis club has N tables available to the public. The tables are numbered from 1 to N. For a ...

  8. UVa 10129 Play on Words(有向图欧拉路径)

    Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to s ...

  9. HBase数据库集群配置【转】

    https://www.cnblogs.com/ejiyuan/p/5591613.html HBase简介 HBase是Apache Hadoop中的一个子项目,是一个HBase是一个开源的.分布式 ...

  10. 总结函数open与fopen的区别

    转自:https://www.zybuluo.com/yiltoncent/note/87461 对于这两个名字很类似的函数,对于很多初学者来说,不容易搞清楚它们有什么不同,只知道按照函数用法使用.如 ...