Blazemeter / RTEPlugin

JMeter RTE (TN5250, TN3270 & VT420) plugin for testing Mainframe applications
Apache License 2.0
19 stars 11 forks source link

Getting NullPointerException in blazemter RTE while recording a script #8

Open surbhi-pancholi opened 4 years ago

surbhi-pancholi commented 4 years ago

Hi team,

I am trying to record a script in RTE plugin and getting blow error- Could you please help us to resolve the issue.

2019-11-28 06:52:35,007 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8 2019-11-28 06:52:35,007 INFO o.a.j.s.SaveService: Using SaveService properties version 5.0 2019-11-28 06:52:35,007 INFO o.a.j.s.SaveService: Loading file: C:\apache-jmeter-5.1\bin\templates\RteRecordingTemplate.jmx 2019-11-28 06:57:17,794 INFO o.a.j.s.SampleEvent: List of sample_variables: [] 2019-11-28 07:08:02,576 ERROR o.a.j.JMeter: Uncaught exception: java.lang.NullPointerException: null at com.bytezone.dm3270.orders.StartFieldExtendedOrder.(StartFieldExtendedOrder.java:45) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.orders.Order.getOrder(Order.java:47) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.commands.WriteCommand.(WriteCommand.java:38) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.commands.Command.getCommand(Command.java:108) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.streams.TelnetListener.processRecord(TelnetListener.java:98) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.telnet.TelnetProcessor.listen(TelnetProcessor.java:62) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.streams.TelnetListener.listen(TelnetListener.java:58) ~[dm3270-lib-0.11.1.jar:?] at com.bytezone.dm3270.streams.TerminalServer.run(TerminalServer.java:74) ~[dm3270-lib-0.11.1.jar:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_192]

rabelenda commented 4 years ago

Hello,

it seems to be a problem with the dm3270 library we are using that is not properly handling a packet sent by the mainframe application you are recording.

To be able to reproduce the issue and fix the problem we would need a TCP dump of the full flow you intend to automate with a terminal emulator using something like wireshark for capturing the dump. Here is an example of how to capture such dumps.

If you consider that the flow contains sensitive data you can obfuscate/modify (e.g replacing the server ip with 0.0.0.0 and any sensitive screen or input bytes with E7, you can get an idea what each byte is by checking each packet in wireshark interface).

To send the information and avoid making it public, you can send it to my email roger@blazemeter.com. We will keep it private and when we implement the fixes, we will include a contribution note mentioning you since this will help the entire community.

surbhi-pancholi commented 4 years ago

Hi Rabel,

Thanks for your prompt response. We are getting response from mainframe using wireshark but while parsing from jmeter side we are getting issue with the jar. Sorry due to security reasons I cannot send the response.

Baraujo25 commented 4 years ago

Hello @surbhi-pancholi,

We have just released a new version of the plugin that might hopefully take care of your issue.

The new version is available on Plugins Manager.

Manually installation:

  1. Go to RTE-Plugin release v3.1
  2. Download all the jar files on that release.
  3. Place the jmeter-bzm-rte-3.1.jar on your _JMETERHOME/lib/ext
  4. Place the other jars on _JMETERHOME/lib
  5. Run JMeter, enjoy your testing

NOTE: Make sure you do not have duplicated libraries. If that happens, the plugin will not work properly. I would recommend you to use a fresh new JMeter.

Let us know if the issue was solved. I will be looking forward to you response.

Best regards, Joaquin.