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 ...
随机推荐
- js多条件if语句简写发生Uncaught SyntaxError: Unexpected token }
改写原生js 多条件if判断语句时,采用三元方法,发生Uncaught SyntaxError: Unexpected token } function compareImgSize() { var ...
- Notes of Daily Scrum Meeting(11.6 and 11.7)
Notes of Daily Scrum Meeting(11.6 and 11.7) 因为七号星期五是放假的第一天,好几名队员要么是出去玩,要么是回家了,所以我们讨论之后在七号没有开始代码的编写, ...
- Scrum Meeting 11.08
成员 今日任务 明日计划 用时 徐越 赵庶宏 薄霖 卞忠昊 WebView和JavaScript交互基础 Bitmap(位图)全解析 Part1 3h 武鑫 设计 ...
- 20172329 2018-2019-2 《Java软件结构与数据结构》实验二报告
20172329 2018-2019-2 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 王文彬 学号:2017232 ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Seventh Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Seventh Wee ...
- 私人助手(Alpha)版使用说明
私人助手使用说明 私人助手这款软件是通过添加事件提醒,提醒你在合适的时间做该做的事,可以选择有多种提醒模式. 目前实现了对事件的添加和提醒功能,软件现在的情况如下: 1.添加事件 2.删除事件 3.事 ...
- IT小小鸟读书笔记(3.9)
对于IT小小鸟呢,我也不知道怎么说,或许一开始我就没想到这是一本集合了众多从事IT工作人员的学习,求职经历.读完这本书,说没什么感触,或许连我自己也不太相信. 在书的一开始邹欣就有说到:兴趣是第一原则 ...
- salt-api使用
salt-api 基本使用 目前salt API 支持的web模块如下: CherryPy Tornado WSGI 1.安装salt-api salt 使用 CherryPy来实现restful的a ...
- 【Leetcode】109. Convert Sorted List to Binary Search Tree
Question: Given a singly linked list where elements are sorted in ascending order, convert it to a h ...
- cxDBVerticalGrid
定位在第一行并显示内置编辑器 cxDBVerticalGrid1.FocusedRow := cxDBVerticalGrid1.Rows[0]; cxDBVerticalGrid1.ShowEdit ...