網路城邦
上一篇 回創作列表 下一篇   字體:
[jmeter教學] 如何下腳本找出失敗的Case
2016/08/13 21:30:06瀏覽2881|回應0|推薦0

前言 : 

因為公司需要,所以開始學jmeter了

對於寫網頁來說,如果要檢查一些Get Request 裡面的參數

或是不會寫網頁,單純只是想看看能不能用網站漏洞弄點福利的

jmeter都算是相當強大的工具

.

前言結束,反正會來查得大概也都知道jmeter 是什麼

.

目前不才的用途是錄製網頁的操作過程

以後如果相關檔案被修改到時,就可以用錄製的過程檢查有沒有被影響到

.

例如修改過交易網站後會不會讓網站無法交易

或是金額不正確等等

.


正文 : 

今天教學主要是教

怎麼檢查網頁跳出來的結果是不是正確,或是預期的內容

有時候就算跳出不是預期的內容,例如交易失敗

.

測試時也是會過

因為她只會檢查網頁在不在,不會檢查裡面的內容

.

但如果我今天要檢查裡面的內容,要是正確的才會過要怎麼辦?

.

很棒的,jmeter裡面可以下腳本檢查

當然腳本語言是JAVA,因為jmeter 本身也是JAVA寫的

JAVA又剛好是直譯的語言

.

首先是在要檢查的那個步驟上

通常一個步驟

會有Get 或是 Request(傳到伺服器的參數)

然後會回傳一些東西

例如json格式或是 HTML網頁

看遠端回傳什麼

.

如果你要檢查的東西,是在某個步驟裡面

例如送出身商品編號和交易資訊等等

回傳的是不是成功字樣

.

先按下右鍵 >> 新增 >> 後置處理器(圖片上弄錯了) >> BeamShell PostProcessor

簡單來講是在這個requesr 送出去後,回傳結果才會執行的腳本

.

就會多出這個

.

然後在裡面貼上這個(範例)

response = prev.getResponseDataAsString();
boolen success=response.toString().contains("購買完成"); //撈出全部html裡面有沒有 "購買完成" 的字串
if(success)
{
 print("OK");
 prev.setSuccessful(true); //設定這一筆測試是成功的
}
else
{
 prev.setSuccessful(false); //設定這一筆測試是錯誤的
 prev.setStopTest(true);//如果想要在這個測試沒有過後就不要測試後面的,這行就留下來
}

.

簡單來說就是把伺服器裡面傳過來的東西全部存起來

.

然後撈出關鍵字

檢查有沒有相對應的字,例如購買完成等等字樣

.

如果有就讓測試通過

.

如果沒有就讓測試不要過

下面是中斷後面的測試

.

如果就算這個測試沒有過還是要測後面的

就把它註解掉吧

.

print出來的東西可以在終端機裡面看到,但不會影響測試

只是輸出給自己看的

((就是那個黑色視窗

.

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=andy840119&aid=70330830