JMeter 介面自動化測試(手工轉自動化指令碼)

weixin_33762321發表於2018-09-10

之前寫過一篇關於 JMeter 手工測試的文章(https://www.jianshu.com/p/b5d2fd5e2b9d),今天我們在原來的基礎上修改一下看看如何做介面的自動化。

首先來回顧一下前面寫好的指令碼:

4789908-3b3997559a464db1.png

這裡請求傳送的引數我們還是隻填兩項必填的 key 和 location 。實現介面自動化時,只需要把這兩項具體內容修改成引數化用變數代替,然後在跑指令碼時把具體的值傳進去使用即可。

引數化指令碼

當然,這個例子的 key 值有點特殊,每個使用者的 key 值是固定的,所以在這裡對 key 值做成引數化意義也不大,那我們就只對 location 值進行引數化吧。

4789908-8b661e5c245ef0b2.png

引數化以後需要呼叫具體的值,這些值可以在其他地方先準備好然後呼叫,這個可以線上程組下新增一個CSV 資料檔案設定配置元件來實現。至於這個配置元件各項引數配置問題筆者在另外一篇文章已經詳細寫過,不瞭解的可以前往看看(https://www.jianshu.com/p/0f4082ae804c)。

4789908-464dd8254d20cadc.png

csv 檔案資料如下:

4789908-7d2ae436846c565e.png

指令碼斷言

接下來修改斷言資訊,將之前斷言 name 的具體值引數化。

4789908-88d755a3847c6b88.png

另外我們可以再增加一個斷言城市 id 的 JSON Assertion 。

4789908-5c38710a1efb56ba.png

這個城市相對應 id 的值要在 csv 資料檔案中新增,至於值怎麼來的還是要去看我最開始說的那篇介面手工測試的文章。

4789908-81db806c14015685.png

修改完之前的指令碼後,接著來執行一次指令碼看看效果。

4789908-1a3df2449a2a27c9.png

在察看結果樹中可以看到請求已經取到 csv 資料檔案的值了,但結果只顯示了深圳的天氣情況。這個當然了,因為我們也沒讓指令碼迴圈執行。

指令碼自動化

下面線上程組下新增一個迴圈控制器,然後把前面的指令碼全部移動到迴圈控制器下,讓指令碼迴圈執行取值並獲取相對應城市的天氣情況。

4789908-8ce06961db407eff.png

執行指令碼檢視結果。

4789908-dbeec68e29c8fb84.png
4789908-2bc3e2be2cf63e75.png

從上面可以看出指令碼已經迴圈獲取到 csv 檔案的資料,並且斷言也通過了。

以上就是一個簡單的介面自動化用例指令碼,希望對初學者有幫助。

相關文章