java - Junit 测试用例在 STS 中成功运行,但无法通过 Jmeter 运行。
问题描述
我在 Spring 工具编辑器中有一个 Java 项目。当我在春天运行测试用例时,它会被执行。虽然当我将它导出到 jar 并放入 Jmeter/lib/junit. 并在 Jmeter 中选择 junit 请求采样器,但它失败了
018-11-30 14:06:30,854 错误 oajJMeter: 未捕获的异常: java.lang.ExceptionInInitializerError: null at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_181] at sun.reflect.NativeConstructorAccessorImpl。 newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_181] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_181] at java.lang.reflect.Constructor.newInstance( Constructor.java:423) ~[?:1.8.0_181] at org.apache.jmeter.protocol.java.sampler.JUnitSampler.getClassInstance(JUnitSampler.java:534) ~[ApacheJMeter_junit.jar:5.0 r1840935] at org.apache .jmeter.protocol.java.sampler.JUnitSampler.initializeTestObject(JUnitSampler.java:658) ~[ApacheJMeter_junit.jar:5.0 r1840935] 在 org.apache.jmeter.protocol。java.sampler.JUnitSampler.threadStarted(JUnitSampler.java:646) ~[ApacheJMeter_junit.jar:5.0 r1840935] at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:762) ~[ApacheJMeter_core.jar: 5.0 r1840935] 在 org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:994) ~[jorphan.jar:5.0 r1840935] 在 org.apache.jorphan.collections.HashTree.traverse(HashTree.java:977) ~[jorphan.jar:5.0 r1840935] at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:730) ~[ApacheJMeter_core.jar:5.0 r1840935] at org.apache.jmeter.threads.JMeterThread.initRun( JMeterThread.java:718) ~[ApacheJMeter_core.jar:5.0 r1840935] 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) ~[ApacheJMeter_core.jar:5.0 r1840935] 在 java.lang.Thread。运行(线程。java:748) [?:1.8.0_181] 引起:com.autodesk.acmtest.config.env.EnvConfigs.loadFromPropertiesFile(EnvConfigs.java:38) ~[acm_test.jar:?] at com.java.lang.NullPointerException .autodesk.acmtest.config.env.EnvConfigs.loadFromSystemProperties(EnvConfigs.java:30) ~[acm_test.jar:?] at com.autodesk.acmtest.config.Configs.getEnvConfig(Configs.java:34) ~[acm_test. jar:?] at com.autodesk.acmtest.cases.BaseTests.(BaseTests.java:11) ~[acm_test.jar:?] ... 14 更多 2018-11-30 14:06:30,858 信息 oajeStandardJMeterEngine:通知测试测试结束的听众 2018-11-30 14:06:30,859 INFO oajguJMeterMenuBar: setRunning(false,?] 在 com.autodesk.acmtest.config.env.EnvConfigs.loadFromSystemProperties(EnvConfigs.java:30) ~[acm_test.jar:?] 在 com.autodesk.acmtest.config.Configs.getEnvConfig(Configs.java:34) ~[acm_test.jar:?] at com.autodesk.acmtest.cases.BaseTests.(BaseTests.java:11) ~[acm_test.jar:?] ... 14 更多 2018-11-30 14:06:30,858 信息oajeStandardJMeterEngine:通知测试侦听器测试结束 2018-11-30 14:06:30,859 信息 oajguJMeterMenuBar: setRunning(false,?] 在 com.autodesk.acmtest.config.env.EnvConfigs.loadFromSystemProperties(EnvConfigs.java:30) ~[acm_test.jar:?] 在 com.autodesk.acmtest.config.Configs.getEnvConfig(Configs.java:34) ~[acm_test.jar:?] at com.autodesk.acmtest.cases.BaseTests.(BaseTests.java:11) ~[acm_test.jar:?] ... 14 更多 2018-11-30 14:06:30,858 信息oajeStandardJMeterEngine:通知测试侦听器测试结束 2018-11-30 14:06:30,859 信息 oajguJMeterMenuBar: setRunning(false,通知测试侦听器测试结束 2018-11-30 14:06:30,859 INFO oajguJMeterMenuBar: setRunning(false,通知测试侦听器测试结束 2018-11-30 14:06:30,859 INFO oajguJMeterMenuBar: setRunning(false,本地)
我正在使用 Jmeter 5.0 和 Java 1.8。非常感谢任何帮助。
解决方案
查看错误原因:
引起:com.autodesk.acmtest.config.env.EnvConfigs.loadFromPropertiesFile(EnvConfigs.java:38) ~[acm_test.jar:?] 处的 java.lang.NullPointerException
我的期望是,如果您使用相对路径,您忘记将一些“.properties”文件与您的 JUnit 测试配置一起复制 - 很可能您应该将文件放到 JMeter 的“bin”文件夹中。
或者查看行,您可以在system.propertiesEnvConfigs.loadFromSystemProperties
文件中执行配置(它位于 JMeter 安装的“bin”文件夹中)或通过命令行参数提供值,例如:-D
jmeter -Dparameter1=value1 -Dparameter2=value2 -n -t test.jmx -l result.jtl
更多信息:
推荐阅读
- sql - SQL UNION 多列合为一
- python - 如何在子图中删除一个 xticks(seaborn FacetGrid),同时仍然在另一个中设置顺序?
- python - 删除多索引 df 中的重复项,中间有“n”个空格
- testing - CircleCI 预期的“jobRef”
- javascript - 使控件在 JavaScript 中可见,但在网页上不可见
- javascript - 设置 window.location.href 是否应该导致“旧”页面停止运行 JavaScript?
- .net - F# SHA256Managed 的问题,输出哈希删除 0
- javascript - 如何在 Openlayers 中向我的 layerSwitcher 添加一个空层
- python - 当仅给出医生的患者列表时,如何找到患者正在使用的医生?(代码改进请求)
- firefox - 阻止关闭“谷歌搜索”标签