1

We are having an application with the JNLP launch file. Tried to find the protocols using protocol adviser for this application couldn't able to load this file in "program to analyze" field.

Tried other protocols like "Java Over Http", "Java Vuser" can't able to load this JNLP application.

Is there any other option to do load test?

Could anyone please help me with this?

Thanks

1 Answers1

2

Here are the steps to get this working (could become very tricky):

A. (Loadrunner Java protocol requires this) Make changes to launch using java -jar command:

  1. From jnlp xml file, under resources section, make a note of call to main class(#MainClassCall), make note of the jar file url and download the jar file (#Jarfile) separately.
  2. Retain original jar file and use a copy of the file to Unjar or use a unzip utility to decompress jar file into a folder.
  3. In the folder, navigate to find all required classes and prepare exact classpath (#classpath -speak to Java developer for help to manually launch jar from client side without using jnlp and java web start).
  4. Run the command:

    java -jar #JarFile -cp #classpath #MainClassCall
    
  5. Make sure the running of jar file using step 4 works flawless and then goto Step B.

B. Use Loadrunner Java protocol and configure the above manual process in the tool:

  1. Follow LR documentation (link: https://admhelp.microfocus.com/lr/en/12.53/help/WebHelp/Content/VuGen/t_recording_record_replay_script.htm)
  2. Set the classpath and Main class settings in Recording options.
  3. Configure Java security policy.
  4. Record the script.

Common Issues:

  1. If the client jar communicates with server using encryption, you might have to manually add the certificates to Java key store and see if that works (Developer should be able to figure out for you).
  2. Recording has unreadable content -could be due to encryption and/or compression and see if a temporary tweaking to disable encryption and/or compression with a recording helps (should show actual Java code running on client side). Accordingly, you would have to manually handle making use of encryption and/or compression calls in the recorded script when it had the encryption and/or compression turned off as a workaround (which requires higher memory footprint on the Load Agent).
  3. LR Serialization issues due to serialization file size limits: The recording using Java protocol actually uses instrumentation to detect current java objects loaded and executed in VM while doing a serialization to flat files which become your Loadrunner Java Vuser script. Since serialized pure java code compared to bytecode would be of larger size, make sure you set serialization file settings under Recording options to a larger size based on the memory footprint on your client side.
  4. Java jar signing could also cause issues when you make changes to client side jar file manually editing it but not signing it appropriately which blocks client side activity. Your Java Developer should be able to fix this.