概述
本文就上一文基于RobotFramework关键字语法实现的百度搜索实例改为有Public API来实现
让大家看下如何基于代码模式来实现基于RobotFramework进行自动化测试
以便进一步加深大家对RobotFramework的理解。
API
在本实例中,需要用到以下类
- TestSuite
可编程测试套件类,代表一个可执行的测试套件
- ResultWriter
基于TestSuite或ExecutionResult()生成返回的原始记录生成测试报告、测试日志,xml格式的输出和XUnits文件
实例目标
本实例基于SeleniumLibrary提供的关键字来实现以下目标:
- 打开浏览器,并初始化访问http://www.baidu.com,验证百度标题
- 输入搜索词“开源优测”,单击“百度一下”按钮,等待5s
- 验证搜索结果标题
- 关闭浏览器,结束
- 生成报告等相关记录文件
实例
#-*- coding:utf-8 -*-
__author__ = "苦叶子"
from robot.api import TestSuite
from robot.api import ResultWriter
if __name__ == "__main__":
print("Robot Framework基本执行过程演示代码")
# 创建套件
suite = TestSuite("百度搜索测试套件")
# 导入SeleniumLibrary库
suite.resource.imports.library("SeleniumLibrary")
# 创建测试用例:启动浏览器
test_01 = suite.tests.create("启动浏览器")
test_01.keywords.create("Open Browser",
args=["http://www.baidu.com", "Chrome"])
test_01.keywords.create("Title Should Be",
args=["百度一下,你就知道"])
# 创建测试用例:百度搜索测试
test_02 = suite.tests.create("百度搜索测试")
test_02.keywords.create("Input Text",
args=["id=kw", "开源优测"])
test_02.keywords.create("Click Button", args=["id=su"])
test_02.keywords.create("Sleep", args=["5s"])
# 创建测试用例:断言验证搜索结果标题
test_03 = suite.tests.create("断言验证搜索结果标题")
test_03.keywords.create("Title Should Be",
args=["开源优测_百度搜索"])
# 创建测试用例:关闭测试用例
test_04 = suite.tests.create("关闭浏览器")
test_04.keywords.create("Close All Browsers")
# 运行套件
result = suite.run(critical="百度搜索", output="output.xml")
# 生成日志、报告文件
ResultWriter(result).write_results(report="report.html",
log="log.html")
将上述代码保存至search_baidu_demo.py中,执行下述命令运行:
python search_baidu_demo.py
运行日志
执行上述命令,运行记录如下图:
报告截图
运行的报告如下图:
小结
代码中所使用的API请参见: