zoukankan      html  css  js  c++  java
  • Python完成RF测试用例

    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:WorkSpaceSimpleTestselenium_learnoutput.xml
    

      

  • 相关阅读:
    REDIS缓存穿透,缓存击穿,缓存雪崩
    spring 自动装配
    SpringBoot @Condition
    【Azure 环境】在Azure虚拟机(经典) 的资源中,使用SDK导出VM列表的办法
    【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
    【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
    【Azure Function】Function App和Powershell 集成问题, 如何安装PowerShell的依赖模块
    【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错 
    【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?
    【Azure 应用服务】添加自定义域时,Domain ownership 验证无法通过 
  • 原文地址:https://www.cnblogs.com/studyddup0212/p/9060634.html
Copyright © 2011-2022 走看看