httprunner 引數關聯 extract

2021-10-07 19:17:17 字數 1967 閱讀 2596

場景一:

假設我們需要檢視某個使用者的個人資訊,一般情況下我們需要先登入這個使用者才能檢視使用者的個人資訊,在介面自動化測試中,一般可以通過獲取登入介面的token,在請求使用者資訊介面的時候帶上這個token來實現「登入並檢視使用者個人資訊」,這時候extract就發揮作用了,通過請求登入介面,提取登入token,將登入token寫入檢視使用者介面。

下面上例項:

/api/get-token 獲取到的token,通過變數$token 被  /api/users/$user_id 引用

- config:

name: testcase description

base_url:

variables:

device_sn: $

- test:

name: /api/get-token

variables:

os_platform: ios

request:

headers:

user-agent: python-requests/2.18.4

device_sn: $device_sn

os_platform: $os_platform

json:

method: post

url: /api/get-token

extract:

token: content.token

validate:

- eq: [status_code, 200]

- eq: [content.success, true]

output:

token

- test:

name: /api/users/$user_id

variables:

# user_id: $

user_id: $user_id

request:

headers:

user-agent: python-requests/2.18.4

device_sn: $device_sn

token: $token

json:

name: user1

password: '123456'

method: post

url: /api/users/$user_id

validate:

- eq: [status_code, 201]

- eq: [content.success, true]

- eq: [content.msg, user created successfully.]

output:

user_id

應用場景二:

檢視某個使用者的購買記錄,假設這一場景需要通過呼叫兩個介面實現,即通過呼叫登入介面獲取使用者的userid欄位,使用者購買記錄介面的請求引數即為userid。

實現方法:

通過呼叫登入介面,獲取並提取response內容,例如userid,再設定變數$userid,傳入購買記錄介面。

例項:假設我們返回的資料格式如下,這時候我們要提取 userphone

}}

關於content物件

content物件相當於request中的r.content,content物件的提取方式有兩種,

content.key 和 content.int,關於提取list中的字段,用的方法是content.int

例如:content.statuscode:提取的是  "statuscode":200的值 200

content.data.userphone:提取的是  "userphone":"13088889981"的值 13088889981

httprunner,從零到熟練運用,個人實戰總結請見:

httprunner變數 引數關聯與引數化

httprunner是基於requests的,所以處理思路與python中處理一樣 目錄1 變數 2 httprunner引數關聯 3 httprunner引數化 1 變數 比如說有一種場景,介面a需要傳乙個引數m值才能返回介面,介面b需要傳引數m的值以及a的返回值才能獲取結果,這時候可以把引數的值...

httprunner進行介面測試 引數化

1,用例格式 config test test 即 全域性配置 用例 用例 config模組裡面定義的是整個文字測試集的變數,即全域性變數 test模組裡面定義的是具體介面請求,下面看個具體例子 2,舉個例子 以某快遞查詢介面為例,新建乙個yaml檔案,命名為test post api.yaml c...

Httprunner引數化的案例演示(單個用例)

目錄 1.用例準備 1.1生成用例 1.2用例引數化 1.3自定義函式 2.執行用例 1.通過fiddler捕捉get token並轉換檔案格式為.yml。操作方法見httprunner使用文件案例錄製並轉換生成測試用例過程出現的問題及解決辦法 2.將用例放到已生成好的測試用例結構目錄中,目錄的生成...