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