概述
本文就上一文基于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请参见:










