打開方式IDEA操作
打開如下所示:
點(diǎn)擊下圖所示:
或者自動(dòng)創(chuàng)建XXX.http文件幌氮。
環(huán)境變量
環(huán)境變量在環(huán)境文件中定義的耿眉,文件定義在與 .http 文件相同目錄下省咨,文件可以是 : rest-client.env.json 或者 http-client.env.json, rest-client.private.env.json 或者 http-client.private.env.json份殿。
rest-client.env.json 或者 http-client.env.json 表示這個(gè)文件是包含普通的變量黎炉,并把里面的變量分發(fā)到項(xiàng)目中枝秤。
rest-client.private.env.json 或者 http-client.private.env.json 表示該文件是一個(gè)私人的文件,可能包括密碼慷嗜,令牌淀弹,證書和其他敏感信息。默認(rèn)情況下庆械,此文件被添加到 VCS 忽略文件列表中薇溃。在 http-client.private.env.json 文件中指定的變量的值將覆蓋環(huán)境文件中的值。
變量調(diào)用的時(shí)候使用:{{變量名}}
eg:
打開http-client.env.json:
{
"test":{
"baseurl": "http://127.0.0.1",
"username": "wangxy",
"password": "1234qwer",
"loginType": "account"
},
"local": {
"baseurl": "http://localhost:8888",
"username": "wangxy",
"password": "1234qwer",
"loginType": "account"
}
}
使用的時(shí)候如下:
POST {{baseurl}}/api/login?loginType={{loginType}}&username={{username}}&password={{username}}
Content-Type: application/json;charset=UTF-8
> {%
client.global.set("Authentication", response.body.data.token);
client.log(response.body.data.token);
%}
其中baseurl缭乘、loginType沐序、username、username都是環(huán)境配置中的變量忿峻。
運(yùn)行的時(shí)候選擇test環(huán)境還是local環(huán)境,對(duì)應(yīng)著http-client.env.json里面的test和local配置
.http文件的一些簡(jiǎn)單語法:
- 注釋 : // 或者 #
- 使用三個(gè)#號(hào)分割 request 請(qǐng)求 : ###
腳本的使用:
以 > 開頭辕羽,然后把腳本包裝在 {%%} 里面逛尚。
eg:
POST {{baseurl}}/api/login?loginType={{loginType}}&username={{username}}&password={{password}}
Content-Type: application/json;charset=UTF-8
> {%
// 設(shè)置選中環(huán)境的全局變量
client.global.set("Authentication", response.body.data.token);
// 輸出日志
client.log(response.body.data.token + "....");
// 添加斷言
client.test("Request executed successfully", function() {
client.assert(response.status === 200, "Response status is not 200");
});
%}
存儲(chǔ)變量
通過 client.global.set 存儲(chǔ)全局變量,通過 client.global.get 獲取變量刁愿〈履可以通過 client 對(duì)象在內(nèi)存中存儲(chǔ)數(shù)據(jù),可以保留到 idea 關(guān)閉之前铣口。
client.global.set("Authentication", response.body.data.token);
可以通過變量獲取值:
###
POST {{baseurl}}/api/test
Accept: application/json
Content-Type: multipart/form-data; charset=UTF-8; boundary=WebAppBoundary
Authentication:{{Authentication}}
其中Authentication 為上述腳本中存儲(chǔ)的全局變量Authentication滤钱。
那么在一處存儲(chǔ)了變量, 就可以在其他地方調(diào)用了,非常適合處理 token脑题,就有點(diǎn)像瀏覽器登錄了件缸。
請(qǐng)求記錄結(jié)果:
請(qǐng)求結(jié)果一般存儲(chǔ)在該項(xiàng)目的 .idea 目錄下的 httpRequests 目錄里面的 http-requests-log.http 文件中,如下 :
查看返回結(jié)果 json 通過 ctrl + 鼠標(biāo)左鍵進(jìn)入返回的 json 詳情叔遂。
同一文件內(nèi)多測(cè)試用例一起執(zhí)行:
點(diǎn)擊途中的Run All Requests in File然后選擇要運(yùn)行的環(huán)境即可執(zhí)行該.http文件內(nèi)的所有測(cè)試用例他炊。