Python完成RF测试用例
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库。
from robot.api import TestSuite
from robot.api import ResultWriter #百度搜索测试
class BaiduSearchTest:
def __init__(self, name, libraries=["SeleniumLibrary"]):
# 创建测试套件
self.suite = TestSuite(name) # 导入SeleniumLibrary
for lib in libraries:
self.suite.resource.imports.library(lib) # 定义变量
def create_variables(self):
variables = {
"${baidu}" : "http://www.baidu.com",
"${browser}" : "Chrome",
"${search_input}" : "id=kw",
"${search_btn}" : "id=su",
}
for k, v in variables.items():
self.suite.resource.variables.create(k, v) # 测试用例: 启动浏览器
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 Framework测试
==============================================================================
百度搜索测试套件
==============================================================================
启动浏览器 | PASS |
------------------------------------------------------------------------------
百度搜索测试 | PASS |
------------------------------------------------------------------------------
断言验证搜索结果标题 | PASS |
------------------------------------------------------------------------------
关闭浏览器 | PASS |
------------------------------------------------------------------------------
百度搜索测试套件 | PASS |
0 critical tests, 0 passed, 0 failed
4 tests total, 4 passed, 0 failed
==============================================================================
Output: C:\WorkSpace\SimpleTest\selenium_learn\output.xml
Python完成RF测试用例的更多相关文章
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- 测试用例逐步演进-xmind2excel(Python版)测试用例逐步演进-xmind2excel(Python版)
最近,我在做项目的时候,经常被问到一个问题:如何做测试评审会更有效呢? 只要做过测试用例评审,特别是比较复杂的测试用例评审的时候,很多测试同学都会苦恼于如何能更有效的向大家说出自己的测试设计思路. 当 ...
- Python编写Appium测试用例(1)
有段时间没有使用python编写测试用例了,很长时间以来,感觉appium这个测试工具确实不错,今天又重新拿起来,分享一下自己学习的一些用例,欢迎大家一起交流.学习! 1.登录客户端 #coding= ...
- selenium python bindings 写测试用例
这章总结selenium在UI测试方面的用法 import unittest from selenium import webdriver from selenium.webdriver.common ...
- Python实现XMind测试用例快速转Excel用例
转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/c2d10f21.html 你好,我是测试蔡坨坨. 今天分享一个Python编写的小工具,实现XMind测试用例转Excel用 ...
- python生成url测试用例
generate_url.py #!/usr/bin/env python import random import os, sys channels = [ \ "BTV2", ...
- 28. Python编写自动化测试用例
接口文档已经提供了,requests库.unittest单元测试框架也已经介绍过,笔者相信读者朋友已经可以独立编写接口自动化测试用例了.但是有一些细节,我们需要聊一下.比如我们写登录接口测试用例,用户 ...
- Python编写Appium测试用例(2)
#coding=utf-8import os,sysimport unittestfrom appium import webdriverimport timefrom selenium.webdri ...
随机推荐
- Linux 150命令之查看文件及内容处理命令 more split file diff paste wc dps2unix
more命令 使用more命令显示more /var/log/boot.log-20171129文件,可以从图中看出,系统在显示满一个屏幕时暂停,使用空格可以翻页,使用Q键可以退出. split sp ...
- 初步认识CNN
1.机器学习 (1)监督学习:有数据和标签 (2)非监督学习:只有数据,没有标签 (3)半监督学习:监督学习+非监督学习 (4)强化学习:从经验中总结提升 (5)遗传算法:适者生存,不适者淘汰 2.神 ...
- 获取session
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()) ...
- 安装Visual studio 2013并进行单元测试
刚开始在没有老师的指导下自己弄了一个简单的单元测试,最后与老师的对比发现错误百出,于是另起一篇.安装VS2013没有什么问题,安装过程如下图: 接下来别开始练习书上的单元测试. 先是简单的创建C#的类 ...
- Pl/sql学习笔记2
-- declare type vsal_table is table of emp.sal%type; a vsal_table; begin --必须得初始化 并且有数量上的区分 从一开的 a ...
- mianshi
https://blog.csdn.net/u012557610/article/details/80350099 https://blog.csdn.net/liuqiyao_01/article/ ...
- HDU 4405 Aeroplane chess 期望dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4405 Aeroplane chess Time Limit: 2000/1000 MS (Java/ ...
- 一个简单的加减乘除自动生成小程序升级版(JAVA)
import java.util.Scanner; public class Suan { public static void main(String[] args) { int []b;//设置数 ...
- JQuery TextArea的取值与赋值问题---(textarea中回车清空问题)——个人转载整理
JQuery TextArea的取值与赋值问题---(textarea中回车清空问题) JQuery TextArea的取值与赋值问题 首先,说明这不是一个简单的问题! 先说取值: $("# ...
- JAVA 构造函数 静态变量
class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println(&quo ...