最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

技術(shù)分享 | 如何使用代理配置快速定位接口測試腳本問題?

2022-10-08 16:50 作者:愛測軟件測試  | 我要投稿
本文節(jié)選自霍格沃茲測試開發(fā)學社內(nèi)部教材

在調(diào)試接口用例過程中,如果響應結(jié)果和預期結(jié)果不一致,則需要檢查請求信息。通過代理獲取自動化測試中的請求響應信息,對比與正常請求響應的區(qū)別,就能夠更直觀的排查請求錯誤,相當于編寫代碼時的 debug 功能。

實戰(zhàn)練習

在自動化測試中,不論是 Java 版本還是 Python 版本,均可以通過設置代理來監(jiān)聽自動化測試腳本的請求響應信息。

Python 版本

通過 proxies 參數(shù),監(jiān)聽請求與響應信息。

import requests?

# 1. 定義一個代理的配置信息,分別需要設定http協(xié)議與https協(xié)議的代理地址。 proxy = { ??

?"http": "http://127.0.0.1:8000",?

? ?"https": "http://127.0.0.1:8080"?

}


2. 通過proxies 傳遞代理配置。

requests.post(url="https://httpbin.ceshiren.com", proxies=proxy, verify=False)

通過 proxies 設定代理信息,代理格式要求為字典類型。默認情況下,verify 是設置為 True 的。將 verify 設置為 False,在發(fā)送 HTTPS 請求的時候,Requests 能忽略對 SSL 證書的驗證。

Java 版本

import io.restassured.RestAssured; import static io.restassured.RestAssured.*; import static io.restassured.specification.ProxySpecification.host; import static org.hamcrest.core.IsEqual.equalTo; public class Requests { ? ?public static void main(String[] args) { ? ? ? ?RestAssured.proxy = host("127.0.0.1").withPort(8080); ? ? ? ?given().relaxedHTTPSValidation().when().get("https://httpbin.ceshiren.com/get"). ? ? ? ? ? ? ? ?then().log().all(); ? ?} }

使用代理工具驗證結(jié)果

在實際工作中,使用代理工具(參考常用代理工具章節(jié))結(jié)合代理配置可以清楚查看每一次的請求信息,實際操作步驟如下:

  • 抓包工具設置的端口,與代碼的代理地址端口保持一致,如下圖所示:

  • 如下圖所示,在頁面發(fā)起正常的請求信息,post 請求中,請求數(shù)據(jù) key 值為 school,value 值為霍格沃茲測試學社:

  • 使用自動化測試腳本發(fā)起與第2步同樣的請求,只是修改 value 值為第二次請求。

Python 版本

import requests def test_proxy(): ? ?# 1. 定義一個代理的配置信息 ? ?proxy = { ? ? ? ?"http": "http://127.0.0.1:8888", ? ? ? ?"https": "http://127.0.0.1:8000" ? ?} ? ?# 2. 通過proxies 傳遞代理配置 ? ?requests.post(url="https://httpbin.ceshiren.com/post", ? ? ? ? ? ? ? ? ?data={'school': "第二次請求"}, ? ? ? ? ? ? ? ? ?verify=False)

Java 版本

import io.restassured.RestAssured; import static io.restassured.RestAssured.*; import static io.restassured.specification.ProxySpecification.host; public class Requests { ? ?public static void main(String[] args) { ? ? ? ?RestAssured.proxy = host("127.0.0.1").withPort(8080); ? ? ? ?given(). ? ? ? ? ? ? ? ?contentType("application/x-www-form-urlencoded;charset=utf-8"). ? ? ? ? ? ? ? ?formParam("school", "第二次請求").relaxedHTTPSValidation(). ? ? ? ? ? ? ? ?when(). ? ? ? ? ? ? ? ?post("https://httpbin.ceshiren.com/post"). ? ? ? ? ? ? ? ?then() ? ? ? ? ? ? ? ?.log().all(); ? ?} }

抓包工具抓包結(jié)果如下圖所示:


通過以上案例,可以看出將代理配置和代理工具結(jié)合使用,可以非常直觀看出兩次接口請求的差別,從而提高定位接口測試腳本問題的效率。


技術(shù)分享 | 如何使用代理配置快速定位接口測試腳本問題?的評論 (共 條)

分享到微博請遵守國家法律
集安市| 垦利县| 木兰县| 偏关县| 泰安市| 高雄市| 茌平县| 肥东县| 开江县| 夏邑县| 乌苏市| 宁波市| 天津市| 临城县| 门源| 保德县| 合作市| 驻马店市| 和平县| 墨脱县| 荔波县| 车致| 通山县| 金乡县| 巴林右旗| 彝良县| 武冈市| 江阴市| 淄博市| 乌拉特前旗| 白水县| 锦屏县| 海盐县| 宁安市| 远安县| 册亨县| 天峻县| 登封市| 光山县| 西峡县| 应城市|