有沒有什麼方法可以在一個硒/ 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. JUnit測試不啓動Selenium WebDriver
- 5. 動態Junit測試
- 6. 春季啓動JUNIT測試服務測試失敗
- 7. JUnit無法啓動JUnit插件測試。爲什麼?
- 8. 用web驅動測試junit測試
- 9. junit和ant問題。當我正在從螞蟻JUnit測試不能啓動測試
- 10. 自動組織JUnit測試
- 11. 從另一個JUnit測試類運行JUnit測試類
- 12. 節目從JUnit測試
- 13. 使用@SpringApplicationConfiguration進行JUnit測試自動啓動作業
- 14. 如何測試junit測試
- 15. JUnit測試後
- 16. 用jUnit測試
- 17. JUnit測試
- 18. 的JUnit:測試
- 19. Junit REST測試?
- 20. Java JUnit測試
- 21. JUnit測試AspectJ
- 22. 如何使用Ant腳本來啓動和停止JMeter測試
- 23. JUnit測試啓動Jetty,Jetty啓動Spring,可以測試看看Spring應用程序的上下文
- 24. 在設置Jmeter Junit測試時使用JDBC
- 25. 我如何使用我的Junit測試(硒webdriver)與Jmeter
- 26. setUp和tearDown如何使用Jmeter和Junit進行負載測試?
- 27. 在JUnit測試之間啓動和停止Jetty服務器
- 28. 春季啓動jUnit測試失敗,因爲「org.springframework.beans.factory.NoSuchBeanDefinitionException」
- 29. 春季啓動 - 配置不在junit中加載測試
- 30. 用新鮮的Spring Context啓動JUnit測試
從來沒有聽說過這樣的事情,但通常可以使用JMeter API和JUnit Runner。不是一件小事。我會建議使用Jenkins插件:https://wiki.jenkins-ci.org/display/JENKINS/JMeter+Plugin –
你能澄清你在問什麼嗎?你原來寫的問題絕對沒有意義。 jmeter和selenium是用於非常不同的事情的兩種不同的工具,而junit只是一個測試框架。你究竟想要做什麼? –
@Corey Goldberg,OP問題(從junit運行jmeter測試)是有道理的,它太大而無法回答 –