字體:小 中 大 | |
|
|
2016/08/13 21:30:06瀏覽2914|回應0|推薦0 | |
前言 : 因為公司需要,所以開始學jmeter了 對於寫網頁來說,如果要檢查一些Get Request 裡面的參數 或是不會寫網頁,單純只是想看看能不能用網站漏洞弄點福利的 jmeter都算是相當強大的工具 . 前言結束,反正會來查得大概也都知道jmeter 是什麼 . 目前不才的用途是錄製網頁的操作過程 以後如果相關檔案被修改到時,就可以用錄製的過程檢查有沒有被影響到 . 例如修改過交易網站後會不會讓網站無法交易 或是金額不正確等等 . 正文 : 今天教學主要是教 怎麼檢查網頁跳出來的結果是不是正確,或是預期的內容 有時候就算跳出不是預期的內容,例如交易失敗 . 測試時也是會過 因為她只會檢查網頁在不在,不會檢查裡面的內容 . 但如果我今天要檢查裡面的內容,要是正確的才會過要怎麼辦? . 很棒的,jmeter裡面可以下腳本檢查 當然腳本語言是JAVA,因為jmeter 本身也是JAVA寫的 JAVA又剛好是直譯的語言 . 首先是在要檢查的那個步驟上 通常一個步驟 會有Get 或是 Request(傳到伺服器的參數) 然後會回傳一些東西 例如json格式或是 HTML網頁 看遠端回傳什麼 . 如果你要檢查的東西,是在某個步驟裡面 例如送出身商品編號和交易資訊等等 回傳的是不是成功字樣 . 先按下右鍵 >> 新增 >> 後置處理器(圖片上弄錯了) >> BeamShell PostProcessor 簡單來講是在這個requesr 送出去後,回傳結果才會執行的腳本 . 就會多出這個 . 然後在裡面貼上這個(範例)
boolen success=response.toString().contains("購買完成"); //撈出全部html裡面有沒有 "購買完成" 的字串
if(success) {
print("OK");
prev.setSuccessful(true); //設定這一筆測試是成功的 }
else
{
prev.setSuccessful(false); //設定這一筆測試是錯誤的 prev.setStopTest(true);//如果想要在這個測試沒有過後就不要測試後面的,這行就留下來 }
. 簡單來說就是把伺服器裡面傳過來的東西全部存起來 . 然後撈出關鍵字 檢查有沒有相對應的字,例如購買完成等等字樣 . 如果有就讓測試通過 . 如果沒有就讓測試不要過 下面是中斷後面的測試 . 如果就算這個測試沒有過還是要測後面的 就把它註解掉吧 . print出來的東西可以在終端機裡面看到,但不會影響測試 只是輸出給自己看的 ((就是那個黑色視窗 . |
|
( 興趣嗜好|電腦3C ) |