標籤:play content input url 標識 成本 set 文檔 設計
前言
前面開了一篇講了Jenkins+jmeter+ant的使用,但沒有說到具體怎麼投入到項目使用,主要介紹了介面測試定義,流程和環境部署,所以我今天要說的就是我是怎麼將這個方案投入到實際中使用的。這套方案主要用於相互介面之間無業務關聯的測試。
結構設計與資料準備介面測試的流程
1、 項目啟動後,測試人員要儘早找到開發人員拿到介面測試文檔
2、 擷取介面測試文檔後,就可以進行介面用例的編寫和調試
3、 介面用例編寫調試完成後,部署到持續整合的測試環境中,
4、 設定指令碼運行頻率,警示方式等基本參數,進行介面的日常監控
5、 每日進行介面指令碼的維護更新,介面異常的處理
jmeter測試過程 jmeter+jmeter+ANT 整體結構設計
測試資料
我的測試資料是用CSV管理的,包含網域名稱、url、方法(get還是post)、 參數 、預期結果(可以是多個),使用excel建立然後轉化程csv格式,這樣一來我們只需要在excel中維護我們的用例就好了
從資料格式可以看出,做了用例的執行標識,選中為YES時才執行,NO時不執行,這是一個用例選擇執行的簡單設計,還有請求的方法也是可以選擇的,目前項目中的主要用POST和GET,除此之外之後要擷取的還有用例名,調用的介面和具體的測試請求資料,這就是使用excel管理測試案例的模組
注意:包含中文字元jmeter取值可能會報錯,修改${jmeterhome}/bin/jmeter.profile
# The encoding to be used if none is provided (default ISO-8859-1)#sampleresult.default.encoding=ISO-8859-1sampleresult.default.encoding=UTF-8
配置基本完成,之後就是項目的目錄架構:
- ./Test_Play/目錄用來放Jmeter產生的Case檔案(編寫時注意,不要用絕對路徑,否則後續維護成本會提高)
- ./Test_suit/目錄用來放Jmeter測試需要的相關設定檔
- ./資源/目錄用來存放項目相關的一些文檔資訊
- build.xml檔案,Ant的設定檔
- 閱讀build.xml檔案,會發先還有一個自動產生的目錄./report,該目錄下有兩個目錄jtl以及html,用來放置不同格式的測試報告。
指令碼設計
添加一個CSV Data Set Config,把我們的文本路徑填進去
添加BeanShell PreProcessor和BeanShell PostProcessor,主要 目的是為了處理中文亂碼
添加if控制器,根據case_satus判斷該條用例是否執行,根據Ament判斷是HTTP請求還是JAVA請求,根據method,來判斷執行get還是post的請求
設定斷言,判斷我們的結果是否正確
根據用例數,設定迴圈次數
- 可使用java直接取值判斷有多少條用例進行執行
String filename=vars.get("JF_API_data");String [] datalist=new String[20];String content;InputStream openfile = new FileInputStream(filename); Workbook wb = Workbook.getWorkbook(openfile);Sheet FirstSheet = wb.getSheet(0);int totalRows=FirstSheet.getRows();int rows=totalRows-1; //減1是因為我標題列不取,為了後面從第二行開始取String data=rows.toString();vars.put("row",data); //用例行數wb.close();
運行調試,查看結果
接入jenkins
指令碼設計完以後,接入jenkins用ant去執行jmx就可以了,至於怎麼用可以看我上一篇文章,報告預覽:
jmeter 單介面測試方案(介面無業務關聯)