Hi,
Did you try to call setSamplerController(LoopController c)  on
ultimateThreadGroup when building a plan?
Some examples regarding run jmeter from api are here
https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui

Regards,
Mariusz

On Tue, 3 Nov 2020 at 08:57, Asanka Godamuna <[email protected]> wrote:

> Hi All,
>
> I am trying to use UltimateThreadGroup with the JMeter Java API, I am
> creating the UltimateThreadGroup object as in the below code[2] and add it
> to the Hashtree.
>
> Finally handover it to the JMeter engine to execute.
>
> But It gives the following NullPointerException in the middle of exception.
> As I debugged the code, the Issue seems occure inside JMeterThread class
> following method.
>
> public JMeterThread(HashTree test, JMeterThreadMonitor monitor,
> ListenerNotifier note, Boolean isSameUserOnNextIteration)
>
>
> But issue throws on different lines from execution to execution.
>
> Does anybody have an idea on whats going on here? Appreciate your answers.
>
> [1]
> 2020-11-03 13:08:20 DEBUG TestCompiler:273 - adding controller:
> kg.apc.jmeter.threads.UltimateThreadGroup@30b2b76f to sampler config
> 2020-11-03 13:08:22 ERROR JMeterThread:319 - Test failed!
> java.lang.NullPointerException
> at
>
> org.apache.jmeter.threads.AbstractThreadGroup.addTestElement(AbstractThreadGroup.java:122)
> at
>
> org.apache.jmeter.threads.AbstractThreadGroup.addTestElementOnce(AbstractThreadGroup.java:131)
> at
> org.apache.jmeter.threads.TestCompiler.subtractNode(TestCompiler.java:151)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:997)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:994)
> at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:976)
> at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:704)
> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:252)
> at java.lang.Thread.run(Thread.java:748)
>
> [2]
>
> UltimateThreadGroup ultimateThreadGroup = new UltimateThreadGroup();
> ultimateThreadGroup.setName(threadGroupName);
> ultimateThreadGroup.setProperty(AbstractThreadGroup.ON_SAMPLE_ERROR,
> AbstractThreadGroup.ON_SAMPLE_ERROR_CONTINUE);
> PowerTableModel dataModel = new
> PowerTableModel(UltimateThreadGroupGui.columnIdentifiers,
> UltimateThreadGroupGui.columnClasses);
> dataModel.addRow(new Integer[]{2, 4, 10, 60, 10});
> dataModel.addRow(new Integer[]{3, 4, 10, 120, 10});
> CollectionProperty prop =
> JMeterPluginsUtils.tableModelRowsToCollectionProperty(dataModel,
> UltimateThreadGroup.DATA_PROPERTY);
> ultimateThreadGroup.setData(prop);
> ultimateThreadGroup.setEnabled(setEnabled);
> ultimateThreadGroup.setProperty(TestElement.TEST_CLASS,
> UltimateThreadGroup.class.getName());
> ultimateThreadGroup.setProperty(TestElement.GUI_CLASS,
> UltimateThreadGroupGui.class.getName());
>

Reply via email to