場景一:一些介面請求需要身份認證成功之后才能獲取到資料
場景二:依賴上游介面的回傳參作為下一個介面引數
示例介面:
getSchoolList----獲取用戶的所有學校串列
postman:直接呼叫getSchoolList介面,介面回應:沒有token

在請求頭里將登錄成功回傳的token放在cookie里,再次請求,身份鑒權成功,介面回傳資料

ps:本次實踐還是遵循api-testcase-testsuite分層,進行腳本撰寫
1、創建一個.env檔案(引入概念:.env檔案為全域默認組態檔)
先配置一下引數
# 域名地址
BASE_URL = http://xxx.xxx.com
# 登錄賬號+密碼
MOBILE = 1782683xxxx
PASSWORD = 69f600a1be1d7aa6318ea5b274c09ae6
2、在api檔案下,完善login_test.yml腳本,參考.env檔案里的配置變數:${ENV(變數名)}
name: login_api
base_url: ${ENV(BASE_URL)}
# 公共變數
variables:
account: ${ENV(MOBILE)}
password: ${ENV(PASSWORD)}
status: 200
request:
headers:
Content-Type: "application/json;charset=UTF-8"
User-Agent:
"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30
(KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 Edg/92.0.4515.159"
json:
account: $account
password: $password
method: POST
url: /nbugs-auth-center-test/xyhauth/checkPwd
validate:
- eq:
- status_code
- 200
- eq:
- body.code
- 200
3、在api檔案下,新增getSchoolList.yml腳本,參考.env檔案里的配置變數:${ENV(變數名)}
Cookie: nbugs=$token
name: getSchoolList
base_url: ${ENV(BASE_URL)}
request:
headers:
Content-Type: application/json;charset=UTF-8
Cookie: nbugs=$token
# get請求,用params接收引數
params:
moblie = ${ENV(MOBILE)}
method: GET
url: /nbugs-auth-center-test/xyhauth/getSchoolList
validate:
- eq:
- status_code
- 200
- eq:
- body.code
- 200
4、在testcases檔案下,新增test_case_getschoollist.yml腳本
引入關鍵字概念:extract
登錄后提取回應結果里的token,用關鍵字extract,然后通過content.引數名
以下回應結果為登錄成功回傳的,要提取data里面的值,用content.data
{
"code": 200,
"msg": "success",
"data": "5149750101f314083aeecbd27b7cfa277",
"success": true,
"requestId": "286b30a0-4379-11ec-883d-6f05a975e30c"
}
腳本內容:
config:
name: getshcoollist
teststeps:
-
name: 正常登錄
api: "test_httprunner/api/login_test.yml"
extract:
token: content.data
-
name: 獲取學校串列
api: "test_httprunner/api/getSchoolList.yml"
validate:
- eq:
- status_code
- 200
- eq:
- body.code
- 200
5、在testsuites檔案下,新增test_suite_getschoollist.yml腳本
config:
name: 獲取學校串列
testcases:
-
name: 獲取學校串列
testcase: testcases\test_case_getschoollist.yml
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356777.html
標籤:其他
上一篇:取代 Java 指日可待?編程圈這個語言越來越「失控」了....
下一篇:大屏可視化工具對比
