操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    1080×213 18.7 KB

    理念與同“UI自動化測試框架”中的“測試步驟的數據驅動”相同ros測試ip重復自動換,接口中的測試步驟的數據驅動就是將接口的參數(比如 、url、param等)封裝到 yaml 文件中管理。當測試步驟發生改變,只需要修改 yaml 文件中的配置即可。

    數據驅動就是數據的改變從而驅動自動化測試的執行,最終引起測試結果的改變。簡單來說,就是參數化的應用。數據量小的測試用例可以使用代碼的參數化來實現數據驅動,數據量大的情況下建議使用一種結構化的文件(例如yaml,json等)來對數據進行存儲,然后在測試用例中讀取這些數據。

    原理與前面章節“UI自動化測試框架”中的“測試數據的數據驅動”大同小異。依然使用 @.mark. 裝飾器來進行參數化,使用參數化來實現數據驅動。

    通過參數化的方式,分別判斷id為2,3的部門的為1:

    import pytest
    class TestDepartment:
        department = Department()
        @pytest.mark.parametrize("id", [2, 3])
        def test_department_list(self, id):
            r = self.department.list(id)
    

    ros wan自動獲取ip_ros測試ip重復自動換_用換ip軟件換ip后點擊百度競價消費嗎?

    assert self.department.jsonpath(expr="$..parentid")[0] == 1

    上面的代碼首先使用 @.mark. 裝飾器,傳遞了兩組數據,測試結果顯示有兩條測試用例被執行,而不是一條測試用例。也就是 會將兩組測試數據自動生成兩個對應的測試用例并執行,生成兩條測試結果。

    當測試數據量大的情況下,可以考慮把數據存儲在結構化的文件中。從文件中讀取出代碼中所需要格式的數據,傳遞到測試用例中執行。本次實戰以YAML進行演示。YAML以使用動態字段進行結構化,它以數據為中心,比 excel、csv、Json、XML 等更適合做數據驅動。

    將上面參數化的兩組數據存儲到 yaml 文件中,創建一個data/.yml文件,代碼如下:

    -2
    -3

    上面的代碼定義了一個 yaml 格式的數據文件.yml,文件中定義了一個列表ros測試ip重復自動換,列表中有兩個數據,最后生成的是這樣的數據格式:[1,2]。將測試用例中參數化的數據改造成從 .yml 文件中讀取,代碼如下:

    class TestDepartment:
        department = Department()
        @pytest.mark.parametrize("id", \
        yaml.safe_load(open("../data/department_list.yml")))
    

    ros測試ip重復自動換_ros wan自動獲取ip_用換ip軟件換ip后點擊百度競價消費嗎?

    def test_department_list(self, id): r = self.department.list(id) assert self.department.jsonpath(expr="$..parentid")[0] == 1

    上面的代碼,只需要使用yaml.()方法,讀取.yml文件中的數據,分別傳入到用例 () 方法中完成輸入與結果的驗證。

    實際工作中,對于環境的切換和配置,為了便于維護,通常不會使用硬編碼的形式完成。在“多環境下的接口測試”章節中已經介紹了,如何將環境的切換作為一個可配置的選項。本章節會把這部分內容進行重構,使用數據驅動的方式完成多環境的配置。

    根據“多環境下的接口測試”章節,將此章節中的環境配置部分改為數據驅動的模式

    代碼如下:

    #把host修改為ip,并附加host header
    env={
        "docker.testing-studio.com": {
            "dev": "127.0.0.1",
            "test": "1.1.1.2"
    

    ros測試ip重復自動換_用換ip軟件換ip后點擊百度競價消費嗎?_ros wan自動獲取ip

    }, "default": "dev" } data["url"]=str(data["url"]).replace( "docker.testing-studio.com", env["docker.testing-studio.com"][env["default"]] ) data["headers"]["Host"]="docker.testing-studio.com"

    依然以yaml為示例,將所有的環境配置信息放到 env.yml 文件中。如果怕出錯,可以先使用yaml.(env)將dict格式的代碼轉換為yaml。

    如下所示,打印出來的,就是成功轉換yaml格式的配置信息:

    def test_send(self):
        env={
    

    ros wan自動獲取ip_ros測試ip重復自動換_用換ip軟件換ip后點擊百度競價消費嗎?

    "docker.testing-studio.com": { "dev": "127.0.0.1", "test": "1.1.1.2" }, "default": "dev" } yaml2 = yaml.safe_dump(env) print("") print(yaml2)

    將打印出來的內容粘貼到 env.yml 文件中: env.yml

    docker.testing-studio.com:
      dev: "127.0.0.1"
    

    ros wan自動獲取ip_用換ip軟件換ip后點擊百度競價消費嗎?_ros測試ip重復自動換

    test: "1.1.1.2" level: 4 default: "dev"

    將環境準備中的代碼稍作修改,把env變量從一個典型dict改為,使用yaml.讀取 env.yml:

    # 把host修改為ip,并附加host header
    env = yaml.safe_load(open("./env.yml"))
    data["url"] = str(data["url"]).\
        replace("docker.testing-studio.com",
        env["docker.testing-studio.com"][env["default"]])
    data["headers"]["Host"] = "docker.testing-studio.com"

    如此一來,就可以實現使用數據驅動的方式,通過修改 env.yml 文件來直接修改配置信息。

    更多技術文章

    喜歡軟件測試的小伙伴們,如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有