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
    

      

  • 相关阅读:
    cocos2d-x项目101次相遇:在HelloWorld上--建立新场景
    MySQL优化之——日志
    Zoj2421 广搜
    GG链路过多port不足导致的报错OGG-01223
    java的InputStream和OutputStream的理解【转】
    JAVA编程规则
    JAVA的String 类
    JAVA的StringBuffer类
    android自带的处理Bitmap out Memory 的处理,我仅仅是改变了些写法成为自己用的东西
    NS3网络仿真(2):first.py
  • 原文地址:https://www.cnblogs.com/studyddup0212/p/9060634.html
Copyright © 2011-2022 走看看