vb 6.0 获取重定向的url_接口测试:A07_HttpRunner重定向_04_解决方案
A07_HttpRunner重定向_04_解決方案
既然 HttpRunner 是對 requests 模塊的封裝,那我們就試圖從 requests 中尋找答案,在其官網(wǎng)中發(fā)現(xiàn)了對重定向的描述和處理:
地址:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html#id9
提到:
- 默認(rèn)情況下,除了 HEAD, Requests 會(huì)自動(dòng)處理所有重定向。
- 可以使用響應(yīng)對象的 history 方法來追蹤重定向。
- 如果你使用的是GET、OPTIONS、POST、PUT、PATCH 或者 DELETE,那么你可以通過 allow_redirects 參數(shù)禁用重定向處理
做個(gè)試驗(yàn):
- 在 post 請求方法中添加 “allow_redirects=False”參數(shù)項(xiàng)
- 打印獲取到的 cookie
執(zhí)行后輸出:
可以看出請求后沒有自動(dòng)進(jìn)行重定向,而且輸出了我們期盼已久的 cookie 內(nèi)容。
D:A00__DevpyvirtualenvhrunScriptspython.exe D:/A00__Dev/pyprojects/wordpress/getcookie.py302, , , ]>Process finished with exit code 0HttpRunner 中對請求的封裝,是通過統(tǒng)一調(diào)用 request() 方法來完成的:
requests.request(method, url, **kwargs)接下來我們就將“allow_redirects=False”參數(shù)項(xiàng)添加到測試用例中
- config: name: WordPress 博客系統(tǒng)- test: name: WP_login_no_redirect request: url: http://192.168.1.102/wordpress/wp-login.php method: POST data: log: admin pwd: 123456 # 禁止重定向 allow_redirects: False extract: - a: cookies.wordpress_test_cookie - b: cookies.wordpress_logged_in_6e644cc1baf05aba48f07f1ff2ed9bad - d: cookies.wordpress_6e644cc1baf05aba48f07f1ff2ed9bad validate: - eq: [status_code, 302]驗(yàn)證用例:
執(zhí)行用例,成功。說明提取指定 cookie 的操作和 302 狀態(tài)的斷言都成功。
查看測試報(bào)告日志:預(yù)期結(jié)果和實(shí)際結(jié)果都是302,證明禁止重定向成功。
最后,我們從 httprunner 源碼中也可以找到以上方式的印證
httprunnerloaderschemascommon.schema.json 請求規(guī)范:
- 在測試用例 request 下可以使用 “allow_redirects”屬性
- 該屬性支持的請求方法為:GET / OPTIONS / POST / PUT / PATCH / DELETE / HEAD
- 該屬性默認(rèn)值為:True (自動(dòng)進(jìn)行重定向)
總結(jié)
以上是生活随笔為你收集整理的vb 6.0 获取重定向的url_接口测试:A07_HttpRunner重定向_04_解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪个基金好 哪个基金比较好
- 下一篇: python怎么创建虚拟环境_anaco