Robot Framework | 03 基于Public API创建你RFS测试

时间:2022-05-07
本文章向大家介绍Robot Framework | 03 基于Public API创建你RFS测试,主要内容包括API、实例目标、实例、运行日志、报告截图、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

概述

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

http://robot-framework.readthedocs.io/en/3.0.2/index.html

至于进一步封装,请自己动手