五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ù)分享 | 如何使用代理配置快速定位接口測試腳本問題?的評論 (共 條)

分享到微博請遵守國家法律
武强县| 恩施市| 玉环县| 沧源| 阆中市| 灵璧县| 隆子县| 辽宁省| 红安县| 漾濞| 伊川县| 宁强县| 西城区| 吉木乃县| 新建县| 闽清县| 克东县| 安远县| 汨罗市| 托里县| 镶黄旗| 洪泽县| 永州市| 安阳市| 沈丘县| 海丰县| 石家庄市| 巴彦县| 通海县| 聂荣县| 江门市| 灌阳县| 定日县| 大姚县| 莫力| 桐梓县| 扶绥县| 仁化县| 博客| 南投市| 梁山县|