我一直在尋找與Jmeter的一個問題的解決方案。我需要在我的測試計劃中加入一些邏輯,這些邏輯可以給出測試用例執行結果上計算的簡單報告PASS/FAIL,並在之後生成JTL報告。例如Jmeter測試計劃總結報告通過/失敗
- 所有測試通過 - 測試計劃的結果= PASS
- 一個或多個測試失敗 - 測試計劃的結果=失敗
我一直在尋找與Jmeter的一個問題的解決方案。我需要在我的測試計劃中加入一些邏輯,這些邏輯可以給出測試用例執行結果上計算的簡單報告PASS/FAIL,並在之後生成JTL報告。例如Jmeter測試計劃總結報告通過/失敗
大多數合適的選擇使用第三方工具假定,到即:
您可以在Jenkins運行JMeter測試和使用性能的插件,它允許有條件構建失敗,如果超過指定的失敗的請求量門檻
您可以使用Taurus工具,一個包裝運行JMeter測試,它具有靈活和強大Pass/Fail Criteria Subsystem允許設置不同的標準定義爲通過或失敗來標記測試。如果構建失敗,則Taurus進程返回非零退出代碼。
如果上述方法不適合於任何原因請詳細說明您的問題,並解釋如何以及在哪裏,你想看看這個「失敗」或「PASS」的結果。
嗨德米特里, 所以這裏是這個練習的主要目標,我想在測試執行後用郵件發送整體測試計劃結果作爲主題/正文消息。 –
起初,我認爲它可以以某種方式從JTL報告中提取,然後放入螞蟻郵件任務。 –
再次有幾個這樣做的選擇。如果您需要Ant,您可以使用[XPath Task](http://www.planetgeek.ch/2009/05/17/perform-xpath-queries-inside-ant/)獲取失敗次數,並且[If Task ](http://ant-contrib.sourceforge.net/tasks/tasks/if.html)有條件地將屬性設置爲PASS或FAIL。其他選項是使用[SMTP Sampler]直接從JMeter發送電子郵件(https://www.blazemeter.com/blog/load-testing-your-email-server-how-send-and-receive-e-mails-jmeter )。 –
添加一個BeanShell的監聽器和一個BeanShell的採樣器在你的線程組的結束,並把這個監聽器:
if(sampleEvent.getResult() instanceof org.apache.jmeter.protocol.http.sampler.HTTPSampleResult)
if (!sampleEvent.getResult().isResponseCodeOK())
vars.put("res", -1);
而且在BS樣的說:
props.put("testPlanResult", vars.get("res") != -1 ? "PASS" : "FAIL");
f = new FileOutputStream("/path/to/file.txt", false); p = new PrintStream(f); p.println("Result: " + (vars.get("res") != -1 ? "PASS" : "FAIL")); p.close(); f.close();
從這裏你可以做你需要創建財產或含結果文件什麼都...
希望這可以幫助你!
編輯:
您將需要添加此導入如果寫入結果文件:
import org.apache.jmeter.services.FileServer;
您可以使用聚合報告/摘要報告提供的聽衆誤差百分比場。如果錯誤%= 0,則所有測試都通過,否則失敗。 –