JMeter手工編寫Web指令碼
阿新 • • 發佈:2019-02-10
使用JMeter,有2種方式錄製指令碼。第一種:使用自動化測試工具Badbody錄製指令碼,並且將指令碼直接儲存為JMeter檔案,再匯入到JMeter中來使用;第二種:通過JMeter自身伺服器代理設定來錄製指令碼。
Thread Groupjmeter的所有任務都必須由執行緒處理,所有任務都必須線上程組下面建立。
測試計劃-新增-Threads(Users)-執行緒組
第二步:新增HTTP請求HTTP Request
執行緒組-新增-Sampler-HTTP請求
注意:請求裡的一些引數可以通過F12,找到該請求來檢視
名稱:可以隨意取,我們可以根據錄製指令碼的路徑來命名
註釋:可以對該介面做一個簡單介紹
伺服器名稱或IP:即我們的伺服器或者IP的地址
埠號:伺服器的埠號
後面的超時定義可以不用填寫。
Implementation:這裡我們錄製時預設填寫為Java
協議:http
方法:GET
Content encoding:編碼可以不用填寫,也可以寫utf-8
路徑:即頁面的路徑;下面的重定向等選擇可以根據需要勾選,這裡我們保持錄製不修改。
Parameters引數:即跟著路徑一起傳送的引數及檔案
下面的代理伺服器等可以忽略,按需要填寫。
第三步:新增HTTP資訊頭管理器Http Header manager
執行緒組- 新增-配置元件-HTTP資訊頭管理器
第四步:新增檢視結果樹View Results Tree
執行緒組-新增-監聽器-檢視結果樹
第五步:執行測試,檢視結果
第六步:新增斷言 Assertions
斷言相當於LoadRunner中的檢查點。
第七步:新增斷言結果Assertion Results
執行緒組-新增-監聽器-斷言結果
第八步:執行測試,檢視結果
執行後, 如果HTTP Response中沒有包含期待的字串。 那麼test 就會Fail.
下圖是成功的情況:
下圖是失敗的情況:
注意:
目標連結:
那麼要怎麼使HTTP請求響應正確呢?我們可以在HTTP傳送請求時,一同傳送相應的引數,如下圖所示:
這些引數的內容可以通過檢視原始檔獲取,如下圖所示:
另外,我們也可以通過在JMeter中設定代理,對一系列操作進行錄製。