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