JMeter GUI - 使用NewDriver执行无法查看Function Helper对话框

时间:2017-11-13 14:29:29

标签: jmeter jmeter-plugins

我尝试在JMeter中测试一个新函数。

我下载JMeter 3.3代码并添加插件,包括JMeterPluginsCMD

我还用HttpSimpleTableControlGui类下载jmeter-plugins-extras-1.4.0.jar

我执行NewDriver打开JMeter GUI,我尝试打开选项 - >函数助手对话但我没有函数

日志:

2017-11-13 16:16:56,661 WARN o.a.j.g.u.MenuFactory: Could not instantiate class: org.jmeterplugins.protocol.http.control.gui.HttpSimpleTableControlGui
java.lang.ClassNotFoundException: org.jmeterplugins.protocol.http.control.gui.HttpSimpleTableControlGui
    at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
    at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_25]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_25]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_25]
    at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:499) [core/:?]
    at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:169) [core/:?]
    at org.apache.jmeter.control.gui.WorkBenchGui.createPopupMenu(WorkBenchGui.java:119) [core/:?]
    at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:159) [core/:?]
    at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) [core/:?]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) [core/:?]
    at org.apache.jmeter.gui.action.ActionRouter.lambda$0(ActionRouter.java:70) [core/:?]
    at org.apache.jmeter.gui.action.ActionRouter$$Lambda$43/1433208870.run(Unknown Source) [core/:?]
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.access$400(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_25]
2017-11-13 16:16:59,670 ERROR o.a.j.g.a.ActionRouter: Error processing org.apache.jmeter.gui.action.CreateFunctionDialog@45e37a7e
java.lang.NullPointerException: null
    at org.apache.jmeter.functions.gui.FunctionHelper.initParameterPanel(FunctionHelper.java:165) ~[core/:?]
    at org.apache.jmeter.functions.gui.FunctionHelper.setVisible(FunctionHelper.java:228) ~[core/:?]
    at org.apache.jmeter.gui.action.CreateFunctionDialog.doAction(CreateFunctionDialog.java:50) ~[core/:?]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) [core/:?]
    at org.apache.jmeter.gui.action.ActionRouter.lambda$0(ActionRouter.java:70) [core/:?]
    at org.apache.jmeter.gui.action.ActionRouter$$Lambda$43/1433208870.run(Unknown Source) [core/:?]
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.access$400(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_25]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) [?:1.8.0_25]
    at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_25]
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_25]

2 个答案:

答案 0 :(得分:1)

  1. 安装JMeter插件并使其保持最新的推荐方法是使用JMeter Plugins Manager
  2. 我确认全新的JMeter 3.3和HTTP Simple Table Server可以正常工作,The Function Helper Dialog没有任何问题。
  3. 所以我的期望是:

    • 您的安装已损坏,您应该:

      • jmeter-plugins-table-server-2.2.jar in&#34; lib / ext&#34;夹
      • jmeter-plugins-cmn-jmeter-0.4.jar in&#34; lib&#34;夹
      • 需要JMeter重启才能选择任何.jars
    • (最有可能)你的功能实现是不稳定的。如果是这种情况,您需要提供功能代码和问题。

答案 1 :(得分:0)

似乎调用JMeter GUI的正确(或可能)方式是

 ant run_gui

功能助手使用我的更改