How to Call a Jar File or Java Class from QTP

Code Hacker

Recently, my team had to use QTP to capture an HL7 message from a web application and parse the info. We could have written our own parser, but it was easier to use something like HAPI

QTP to capture the HL7

We decided to use QTP to capture the HL7 message from a textbox and write its contents to a file. We then called the jar file that uses HAPI to parse the HL7. The parser then writes the results to another file. QTP reads the parsed file to validate certain fields in our application.

QTP How To Call the Jar File

To call the jar file, you can use QTP’s SystemUtil.Run like this:

SystemUtil.Run “cmd”,”/c java -jar parsingclass.jar”,””

To call the java class

For a java class you would do something like this:

SystemUtil.Run “cmd”,”/K java D:\HL7Parser\bin\CORUExtractorFlow1151.class”,””

Explanation About the Call Jar File Code

 SystemUtil Object is a QTP object that can be used to control an application or process during a test run.

The Run method runs a file or application. cmd starts a new instance of a command interpreter.

/K is a parameter that runs the command and leaves the command window open. (If you want to close the command window instead of keeping it open, you would need to replace the /K parameters with the /C parameter.) For more info on CMD and its parameters, check out Microsoft’s documentation website

For move complicate UFT Java calls

If you have a more complicated Java DLL that you need to interact with, you could use Service Test 11, which contains a call java class activity. With a “Unified Functional license ,” you could call Service Test from QTP; in our case, however, this would have been overkill, so we kept it simple by using the method described above.

Click here to add a comment

Leave a comment: