用Python写Roboot Framework测试九:用Python写Roboot Framework测试
时间:2020-05-20
本文章向大家介绍用Python写Roboot Framework测试九:用Python写Roboot Framework测试,主要包括用Python写Roboot Framework测试九:用Python写Roboot Framework测试使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
下面还是以百度搜索为例
创建robot.py文件,内容如下:
from robot.api import TestSuite from robot.api import ResultWriter from robot.model import Keyword # 百度搜索测试 class BaiduSearchTest: def __init__(self,name,librarys=["SeleniumLibrary"]): # 创建测试套件 self.suite = TestSuite(name) # 导入seleniumLibrary for lib in librarys: self.suite.resource.imports.library(lib) # 定义变量 def create_variables(self): variables = { "${baidu}": "https://www.baidu.com", "${browser}": "Chrome", "${search_input}": "id=kw", "${search_btn}": "id=su" } for x,y in variables.items(): self.suite.resource.variables.create(x,y) # 测试用例:启动浏览器 def open_browsers(self): test_01=self.suite.tests.create("启动浏览器") test_01.keywords.create("Open_Browser", args=["${baidu}","${browser}"]) test_01.keywords.create("Title Should Be", args=["百度一下,你就知道"]) # 测试用例:百度搜索测试 def search_word(self): test_02 = self.suite.tests.create("百度搜索测试") test_02.keywords.create("Input Text", args=["${search_input}","测试教程网"]) test_02.keywords.create("Click Button", args=["${search_btn}"]) test_02.keywords.create("Sleep", args=["5s"]) # 测试用例:断言验证搜索结果标题 def assert_title(self): test_03 = self.suite.tests.create("断言验证搜索结果标题") test_03.keywords.create("Title Should Be", args=["测试教程网_百度搜索"]) # 测试用例:关闭测试用例 def close_browsers(self): test_04 = self.suite.tests.create("关闭浏览器") test_04.keywords.create("Close All Browsers") # 运行 def run(self): self.create_variables() self.open_browsers() self.search_word() self.assert_title() self.close_browsers() # 运行套件 result = self.suite.run(critical="百度搜索", output="output.xml") # 生成日志、报告文件 ResultWriter(result).write_results( report="report.html", log="log.html") if __name__ == "__main__": print("用Python写Robot Framework测试") suite = BaiduSearchTest("百度搜索测试套件") suite.run()
进入到项目目录下,执行
python robot.py
运行结果:
原文地址:https://www.cnblogs.com/daydayup-lin/p/12923020.html
- CentOS7设置IP地址
- 服务器端Javascript
- ASP连接数据库
- 彻底隐藏你HTML网页的源代码
- java学习:JMM(java memory model)、volatile、synchronized、AtomicXXX理解
- 使用CSS制作文字环绕图片效果(文字内容包含<li>标签)
- ClojureScript魔法堂:搭建开发环境
- PHP error_reporting() 错误控制函数功能详解
- centos上安装elasticsearch 5.5.1 遇到的各种坑
- 概率论08 随机变量的函数
- @Transactional导致AbstractRoutingDataSource动态数据源无法切换的解决办法
- 防F12扒代码:按下F12关闭当前页面
- TCP/IP(七)之玩转HTTP协议
- Android的历史与花边
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springboot解决前后端数据跨域问题
- 单细胞数据中到底应该如何处理线粒体基因
- Seurat小提琴图为什么有的只有点儿?
- Layui解决table日期的格式化问题
- Telegraf+Influxdb+Grafana 轻量级监控系统部署
- 国产开源文档管理系统——Wizard
- 力扣 1519——子树中标签相同的节点数
- PythonforResearch | 1_文件操作
- 你应该知道关于Python的这几个技巧!
- Pytest之fixture
- JAVA|Java的Scanner类初级使用
- systemd设置nginx开机自启动
- C盘爆满,如何移除软件~
- Microsoft PowerToys
- MagicEXIF(元数据编辑器)