此前介紹過幾篇關於Jenkins配置相關的文章,今天再來說說參數化構建和構建前刪除已有的報告。在實際測試過程中,是需要測試幾套環境的,不使用參數化構建的話,構建腳本就比較麻煩了;自然,已生成的報告,不刪除再構建,發送的報告也就比較冗余。接下來就來說下這兩個簡單的配置。
參數化構建
參數化,這個詞,相信大家都很熟悉,就不啰嗦了。在jenkins配置中,常規配置下,勾選參數化構建過程按鈕。添加對應的參數,有憑證參數、字符參數、密碼參數等,此處選擇Active Choices Reactive Parameter,如下圖所示:
如果沒有該參數可以選擇,則需要先安裝插件,具體安裝插件的步驟也不過多介紹了,在可選插件中搜索並安裝即可。
將該插件安裝好后,再次進入到已有job下配置,即可選到該參數,接下來就來介紹下如何具體進行參數化。
參數化過程
1.添加一個名為test的參數,返回值有A/B/C/D
可以輸入對應參數的描述:
2.添加一個名為url的參數,在test參數中,如果選擇A,url處則顯示www.baidu.com
Referenced parameters需要填入test,test就是第一個參數名
3.繼續添加pro、username、password參數,跟配置url參數一樣配置即可
4.配置好參數並保存,來構建當前job,進入到構建頁面,出現如下圖所示頁面
在test參數處是可以修改不同的值,如下
切換到B,則url、pro、username、password參數也對應變更,如下
這樣配置后,就可以靈活運用到不同的測試環境中,構建腳本了,使用起來很是方便。
給一張實際job構建的參數傳遞圖,如下所示:
傳遞的參數顯示在控制台中,參數傳遞了,那如何在jmeter中實際應用呢?這就需要在jmeter中引用一個函數,_P
函數_P是一個簡化版的屬性函數,目的是使用在命令行中定義的屬性。不同於函數_property,本函數沒有提供選項用於設置保存屬性值的變量。 另外,如果沒有設置默認值,默認值自動設為1。之所以選擇1,原因在於它對於很多常見測試變量都是一個合理值,例如,循環次數、線程數、啟動線程耗時間 等。
在jmeter測試計划中設置如下:
這樣就完成了參數傳遞的配置
構建前刪除已有報告
在做自動化測試時,會有測試報告生成,報告名稱一樣並不及時處理的話,再次構建時,報告會加在已有報告中,導致冗余。解決該問題可以在job配置中的構建設置下,添加windows批處理命令操作即可如下圖所示:
添加該參數后,輸入批處理命令
cd D:\Jenkins\workspace\123\html del /F /S /Q TestReport.html cd D:\Jenkins\workspace\123\jtl del /F /S /Q TestReport.jtl
保存該配置后,去構建job,則會先執行批處理命令再開始構建。
構建job,查看控制台日志如下:
遇到的問題
1.在配置批處理命令時,沒有注意到順序問題,導致沒有實現預想的效果
由於先有ant操作,再添加的批處理命令操作,構建job下來,是當腳本執行完后再執行的批處理命令,導致生成的報告被刪除。由此檢查看,是因為順序的問題導致,調整順序即可。
2.參數化構建不填寫Referenced parameters
不填寫Referenced parameters參數,則會導致對應參數下顯示不出值,需要引用第一個參數(基於第一個參數test)
上述兩個問題都是小問題,但不仔細下,的確是會忽略掉的部分,需要多注意。參數化構建和構建前的刪除操作就是這么的簡單,相信閱讀下來,肯定就能掌握。