jmeter性能測試—登錄百度進行搜索(圖解)(二)


6. 繼續,我們點擊了登錄按鈕,百度為了防止csrf攻擊,會給我們一個token(這個token在我們提交密碼時一起提交過去),我們要在jmeter中再新建一個http請求,來獲取這個token,get方法。相應參數如圖:

我們仍舊需要一個正則表達式來獲取這個token,注意這個token並沒有放在返回消息的http頭中,而是在響應消息中的js代碼中,故firefox中我們無法看到,這里我用的是burp suite這個工具(具體使用方法參見:http://www.yeetrack.com/?p=173),在看到那段javascript代碼后,我們用正則表達式進行提取:

7. 獲取完這個token,我們就可以提交用戶名和密碼了。再次新建一個http請求,構造一個post請求,應該是這樣:

注意由於是https連接,故端口為443,參數一共16個,自己去firefox中依次查看並添加到表格中,這里對於ppui_logintime這個參數有些不明白,應該是和本地時間有關,不太確定,隨便填寫了一個,校驗通過了,如果你有更深的理解,歡迎討論。

post請求之后,服務器校驗用戶名密碼是否匹配,如果通過,服務器會發送cookie到瀏覽器,ok,再次用正則表達式提取,這次需要提取兩個cookie,SAVEUSERID和BDUSS(不要忘記將這兩個添加到cookie管理器中)

8. OK ,至此登錄動作結束,我們可以試驗一下,運行之前我們先添加一個“查看結果樹”來統計運行結果。

點擊中上方的運行按鈕。你的結果應該類似這樣:

我們可以看到每個包的發送和相應情況,檢查一下是否登錄成功。看下面截圖,返回消息為瀏覽器設置cookie,代碼登錄通過。

9. 好了,登錄成功,我們來提交個搜索的請求。新建一個http請求,如下圖

當然如果我們要搜索的關鍵詞很多,也可以從外面的文件中讀取,方法是:在線程組中添加一個csv data set config,這個組件專門用來讀取外部的文本文件。

keyword.txt中的關鍵字要用制定的字符隔開,這樣在運行時文本中的關鍵字會被加載到keyword變量中,我們就可以在腳本中通過${keyword}來引用。

10. 最后在添加上結果統計的組件,來分析web程序的性能。

最后分享自己的腳本,http://wangpan.baidu.com/share/link?shareid=149068&uk=537055152。我是在登錄動作中加了個一次控制器,讓每個線程的登錄動作只執行一次,搜索可以執行多次,如果你下載使用,將其中發送用戶名、密碼的post包中的username和password參數修改成自己的賬號即可,然后在d盤下新建keyword.txt,里面放着用逗號隔開的關鍵詞即可。本文由易蹤網原創,如果你喜歡本文,請關注易蹤網。

(完)

轉載至:(作者:王學猛 來源:http://www.yeetrack.com/?p=51)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM