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:\WorkSpace\SimpleTest\selenium_learn\output.xml

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM