python和c++學哪個好,基于python的性能負載測試Locust-6-腳本編寫之使用HTTP client

 2023-11-18 阅读 24 评论 0

摘要:使用HTTP client 每個HttpLocust實例的client屬性中都有一個HttpSession實例。HttpSession類是requests.Session的子類并且通過get,post,put,delete,head,patch和options方法發送HTTP請求,然后用作Locust的統計報告。HttpSession實

使用HTTP client

每個HttpLocust實例的client屬性中都有一個HttpSession實例。HttpSession類是requests.Session的子類并且通過get,post,put,delete,head,patch和options方法發送HTTP請求,然后用作Locust的統計報告。HttpSession實例保存了coookies,可以用于登錄網站并且在不同的requests之間保持session。client屬性也可以被Locsut實例的TaskSet實例所引用,方便重新得到client并且在任務里發送HTTP請求。

下面是對/about路徑發送GET請求的例子(假設self是TaskSet或者HttpLocust類的實例):

response = self.client.get("/about") print "Response status code:", response.status_code print "Response content:", response.content 

python和c++學哪個好。下面是關于POST請求的例子:

response = self.client.post("/login", {"username":"testuser", "password":"secret"}) 

安全模式

HTTP client被配置成在安全模式下運行。因為連接錯誤,超時,或者其它類似錯誤引起的請求失敗都不會拋出異常,而是返回一個空響應對象。這個請求將被統計為失敗。返回的空響應的content屬性被設置為None,并且status_code被設置為0。

手動設置一個請求為成功或者失敗

默認HTTP響應為2xx之外的請求將被標識為失敗。大部分時候這樣判斷都沒問題,但是有時候返回404是我們期望的結果,而200不是我們期望的,那么就需要手動設置成功或者失敗。

python socket多線程?即使響應碼是正常的我們也可以通過catch_response和with語句標識這個請求為失敗:

with client.get("/", catch_response=True) as response: if response.content != "Success": response.failure("Got wrong response") 

同樣的如果一個請求的響應為HTTP錯誤碼,我們也可以標識它的結果為成功:

with client.get("/does_not_exist/", catch_response=True) as response: if response.status_code == 404: response.success() 

通過動態參數進行URLs請求的分組

一些網站的頁面URLs包含一些動態參數,這種情況也比較普遍。一般情況下,可以傳遞name語句給HttpSession的不同request方法,從而實現在Locust的統計報告里將這些URLs劃為一組。

php7和python3性能對比?例子:

# 這些request請求的統計結果將會被分組放在: /blog/?id=[id]
for i in range(10): client.get("/blog?id=%i" % i, name="/blog?id=[id]")

轉載于:https://www.cnblogs.com/mu-shi-shi/p/6070001.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/174501.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息