有沒有什麼方法可以在一個硒/ junit測試用例中集成一個記錄的jmeter腳本(它測試由多個用戶執行的一系列記錄的操作產生的負載)。這樣我就可以用java執行那個selenium/junit測試用例,它給我提供了junit報告的性能結果? 我發現帖子說明如何將硒webdriver集成到Jmeter中,但不是其他方式。從junit測試啓動jmeter
回答
您可以執行現有的使用JMeter Java API JMeter測試,示例代碼如下所示:
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.reporters.Summariser;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;
import java.io.File;
public class JMeterFromCode {
public static void main(String[] args) throws Exception {
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties("/tmp/jmeter/bin/jmeter.properties");
JMeterUtils.setJMeterHome("/tmp/jmeter");
JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
JMeterUtils.initLocale();
// Initialize JMeter SaveService
SaveService.loadProperties();
// Load Test Plan
HashTree testPlanTree = SaveService.loadTree(new File("/tmp/jmeter/bin/test.jmx"));
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
// Store execution results into a .jtl file
String logFile = "/tmp/jmeter/bin/test.jtl";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
}
}
替換:
- 的
/tmp/jmeter
所有出現 - 與路徑的安裝Jmeter /tmp/jmeter/bin/test.jmx
- 帶有.jmx文件的路徑,其中包含已記錄的JMeter腳本/tmp/jmeter/bin/test.jtl
- 與.jtl結果文件的所需位置
見Five Ways To Launch a JMeter Test without Using the JMeter GUI文章上執行的JMeter測試的可能性的更多信息,也許你會發現更容易的集成解決方案爲JMeter的測試可以通過Maven plugin或執行Ant Task以及硒測試。
謝謝,這正是我想要的!有什麼辦法可以對報告的結果進行斷言,使用相同的API?例如,如果總運行時間少於2秒,則測試應該通過。 – CodeMaker
在JMeter測試計劃中,您可以使用[Duration Assertion](http://jmeter.apache.org/usermanual/component_reference.html#Duration_Assertion),檢查out [如何在三個簡單的步驟中使用JMeter斷言](https://www.blazemeter.com/blog/how-use-jmeter-assertions-3-easy-steps)以獲取詳細信息。如果將JMeter相關代碼包裝到JUnit或TestNG測試中,您可以執行如下操作:'long before = System.currentTimeMillis(); //之後的長度爲Jmeter的代碼= System.currentTimeMillis();如果((之前 - >之前)> 2000){Assert.fail(「超過2秒的持續時間」);}' –
- 1. Android Junit測試Button已啓動活動
- 2. 從jUnit測試
- 3. JUnit測試類未顯示在JMeter中
- 4. Jmeter中的Junit測試套件
- 5. 的JUnit測試啓動... getActivity不返回
- 6. JUnit測試不啓動Selenium WebDriver
- 7. 啓動時出現IllegalStateException Spring JUnit測試
- 8. 動態Junit測試
- 9. 負載測試的JUnit測試用例使用JMeter的
- 10. 春季啓動JUNIT測試服務測試失敗
- 11. JUnit無法啓動JUnit插件測試。爲什麼?
- 12. 如何從jUnit測試中啓動maven過濾?
- 13. 使用自定義JUnit運行器實現從eclipse插件啓動JUnit測試
- 14. 用web驅動測試junit測試
- 15. junit和ant問題。當我正在從螞蟻JUnit測試不能啓動測試
- 16. 試圖在JMeter中運行Selenium JUnit測試
- 17. 爲什麼JUnit測試試圖啓動Seam時會引發InstantiationException?
- 18. 自動組織JUnit測試
- 19. 從另一個JUnit測試類運行JUnit測試類
- 20. 如何自動啓動JMeter HTTP(S)測試腳本記錄器?
- 21. 使用@SpringApplicationConfiguration進行JUnit測試自動啓動作業
- 22. 如何測試junit測試
- 23. Maven.surefire.util.SurefireReflectionException當測試Junit測試
- 24. Hangman JUnit測試
- 25. spring junit測試
- 26. RxJava2 JUnit測試
- 27. 春JUnit測試
- 28. JUnit測試AspectJ
- 29. JUnit測試後
- 30. Java JUnit測試
從來沒有聽說過這樣的事情,但通常可以使用JMeter API和JUnit Runner。不是一件小事。我會建議使用Jenkins插件:https://wiki.jenkins-ci.org/display/JENKINS/JMeter+Plugin –
你能澄清你在問什麼嗎?你原來寫的問題絕對沒有意義。 jmeter和selenium是用於非常不同的事情的兩種不同的工具,而junit只是一個測試框架。你究竟想要做什麼? –
@Corey Goldberg,OP問題(從junit運行jmeter測試)是有道理的,它太大而無法回答 –