1. 程式人生 > >【Jenkins】——shell中執行多個指令碼

【Jenkins】——shell中執行多個指令碼

前言

  前面已經寫了一篇部落格

  上篇部落格中只提到了在shell中只執行一個指令碼,生成對應的jtl檔案

  並對其進行資料分析。

  有些時候我們可能需要測試很多的指令碼,但是因為每個job都會生成一個工作空間

  或不利於查詢,或不利於分類,或不利於分析資料,不適用建立很多的工作空間,

  這時我們可能需要在一個job中配置測試多個指令碼

正文

  執行多個指令碼時,只有Execute shell 和 Publish Performance test result report 稍有不同

  其他配置與資料分析都與之前沒有什麼區別,這裡不再贅述

  ① 配置Execute shell

  對一些名詞的解釋這裡也不再闡述了,不太理解的可以參考上一篇部落格

  ⑴ 下面兩條語句格式相同,上一篇部落格也介紹了,中間用 && 連線


  ⑵ 還可以直接新增兩個Execute shell,一個shell中寫一條語句,效果相同

  ② 配置Publish Performance test result report

  關鍵點在這裡,第①步是利用shell構建,生成jtl檔案,

  而我們生成jtl檔案只是測試工作的一部分,更重要的是分析資料

  如果第②步這裡路徑寫的不準確的話,產生的圖示資料分析就不是你想要的


  第②步填寫的內容非常靈活,要根據你產生的jtl檔案的位置,適當填寫

  如上圖 **/* 表示對此job的工作空間內所有的jtl檔案產生圖示分析

  這裡的 * 是萬用字元,可以理解成我們在windows系統中查詢檔案時用的 * 

  這裡可以直接寫到確切的檔名,也可以利用萬用字元分析某個範圍內的jtl檔案

  如果是利用萬用字元分析某個範圍內的檔案,

  則若存在相同的檔名,按照層級查詢順序,之後的檔案不會產生分析圖表

  比如:按照第一幅圖的情況,若在a/aa/下還有一個bbbb.jtl檔案

     而我此時在Publish Performance test result report中寫的是**/*/*.jtl

     則產生分析圖表時,會產生a/aa/aaaa.jtl和a/aa/bbbb.jtl兩個檔案的分析圖表,

     但這裡並不會影響構建測試,生成檔案時還是會生成a/aa/aaaa.jtl和b/bb/bbbb.jtl兩個檔案

  最後還有需要注意的問題:

  如果生成檔案的全檔名不變,則每次生成的檔案會疊加到一起

  資料分析也就相當於在錄製指令碼的時候多了一次迴圈

  最應該注意的一點是:

  如果是因為一個或多個請求錯誤率很高而導致的構建失敗,

  那麼接下來的構建仍然會失敗,但不影響資料分析

結語

         每一天都不一樣