查看原文
其他

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

苦叶子 开源优测 2022-11-13

点击上方蓝字“开源优测”一起玩耍

概述

本文就上一文基于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

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


开源优测

分享软件测试开源技术、经验、方案的首发平台

长按二维码/微信扫描 关注开源优测

QQ群:260407012

苦叶子私人微信:liyimin1912

有问题,可留言或加好友进微信群

苦叶子原创文章首发平台


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存