httprunner 2.x學習5-測試用例集(testsuite)


前言

httprunner 分層主要是分三層:api、testcase、testsuites
前面講分層的時候講到api單獨封裝每個接口,testcase可以有多個測試步驟,調用api層的接口是寫測試用例,用例的步驟是有序的。
testsuites 這一層是測試用例的集合,把測試用例放到一個測試套件去執行,用例執行應該是無序的,有依賴的場景在testcase這一層測試用例里面就已經按步驟寫好了。

測試用例集(testsuite)

當測試用例數量比較多以后,為了方便管理和實現批量運行,通常需要使用測試用例集來對測試用例進行組織。

在前文的測試用例分層模型中也強調了,測試用例集(testsuite)是測試用例的 無序 集合,集合中的測試用例應該都是相互獨立,不存在先后依賴關系的;如果確實存在先后依賴關系,那就需要在測試用例中完成依賴的處理。

因為是 無序 集合,因此測試用例集的描述形式會與測試用例有些不同,在每個測試用例集文件中,第一層級存在兩類字段:

  • config: 測試用例集的總體配置參數
  • testcases: 值為字典結構(無序),key 為測試用例的名稱,value 為測試用例的內容;在引用測試用例時也可以指定 variables,實現對引用測試用例中 variables 的覆蓋。

非參數化場景

api 層兩個接口api/login.yml

# api/login.yml
# 上海-悠悠,httprunner QQ交流群:717225969
name: login first
base_url: http://127.0.0.1:8000
variables:
    user: test
    password: 123456
request:
        url: /api/v1/login/
        method: POST
        headers:
            Content-Type: application/json
            User-Agent: python-requests/2.18.4
        json:
            username: $user
            password: $password
validate:
    - eq: [status_code, 200]
    - eq: [headers.Content-Type, application/json]
    - eq: [content.msg, login success!]
    - eq: [content.code, 0]

api/get_userinfo.yml 內容

# api/get_userinfo.yml
# 上海-悠悠,httprunner QQ交流群:717225969

name: get user info case1
base_url: http://127.0.0.1:8000
variables:
    token: 1c5ef1856edec117ac989eb8def4abbaae28673e
request:
    url: /api/v1/userinfo/
    method: GET
    headers:
        Content-Type: application/json
        User-Agent: python-requests/2.18.4
        Authorization: Token $token          # 引用token

case用例層,寫一個登錄用例

# case/test_login.yml
# 上海-悠悠,httprunner QQ交流群:717225969
- config:
    name: "test userinfo"

- test:
    name: login-setup
    api: api/login.yml
    extract:
        - get_token: content.token
    validate:
        - eq: ["status_code", 200]
        - len_eq: ["content.token", 40]

testsuites 層可以把測試用例放一起執行

config:
    name: 創建測試計划
    base_url: http://127.0.0.1:8000

testcases:
    用戶test1登陸:
        testcase: case/test_login.yml
        variables:
            user: test1
            password: 123456

    用戶test2登陸:
        testcase: case/test_login.yml
        variables:
            user: test2
            password: 123456

注意 testsuites 這一層必須是引用 testcase ,不能直接引用 api


httprunner 2.x實戰教程點我 ->立即報名


免責聲明!

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



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