Ask a Question

Can I test a JNLP app that does not run in a browser?

SOLVED
dczerniawski
Occasional Contributor

Can I test a JNLP app that does not run in a browser?

Does SmartBear have a way for me to test a JNLP app that launches on my desktop not in my browser?

2 ACCEPTED SOLUTIONS

Accepted Solutions
Colin_McCrae
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Nope. You should be good to go. 

View solution in original post

AlexKaras
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Hi,

 

> I have never created tests [...]

Just as a quick reference:) :

-- TestComplete is a tool that makes it possible to do functional testing of the Windows/Android/iOS applications. Functional testing means that the tool supports tests that have some complex internal logic and may branch execution flow depending on the tested application state, used test data, OS or browser version, etc. TestComplete supports both Web and Java applications and can drive more than one application within the same test (which is not possible with selenium for example). So it is not a problem for TestComplete to do something on the web page, start execution of the standalone JNLP application, switch to this application and continue with it. TestComplete licenses three modules (Web, Desktop and Mobile) and you must have a license for the proper module to unleash the whole power of TestComplete for the application of the given type. In your case you will need a Web module to conveniently drive your Web application and Desktop module to drive Java application. TestComplete emulates how human end-user works (via mouse and keyboard control) and thus, like the read human, cannot drive more than one application at the moment. If you need to do concurrent testing of your (usually) backend application, for example, emulate as if more than one user tries to edit the same data at the same moment of time, TestComplete has a Network Suite functionality for this.

 

-- LoadComplete is a load testing tool for the applications that exchange data via the http(s). The tool records traffic between client and server and than replays the recorded traffic as if it was generated by a big number of clients. Because the main goal for this type of testing is to check how the server application handles big traffic, the tool does not support complex test logic and customization. This must be done via the functional tests in TestComplete. For example, it is not the goal of load test to check that if you are trying to order more items than have left on the stock, then the server must respond with some message that no more items are available. Instead, the load test checks that the server responds to the request and does not fail. (Whether the data in the response are correct or not is usually irrelevant for the load test.)

 

-- SoapUI/SoapUI NG is a tool that can query web service and process (check, validate) the returned response. TestComplete supports testing of not complex Soap web services likewise LoadComplete do. But SoapUI supports much wider range of web service technologies. SoapUI, like TestComplete, is primarily a functional testing tool and if you need to load test your web service, then you must combine your SoapUI tests with LoadUI / LoadUI NG.

 

-- LoadUI / LoadUI NG is a tool that can generate load for the web service using SoapUI/SoapUI NG functional tests.

 

Summarizing: if the only thing that you need is to drive your web application, start standalone JNLP application and continue with this application, the only thing that you will need is TestComplete with Web and Desktop modules.

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================

View solution in original post

10 REPLIES 10
Colin_McCrae
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Have you tried and it doesn't work?

 

JNLP is part if JRE as I understand it. And TC supports Java JRE's. Which would imply that it should work?

 

But it's not something I've ever tried ...

 

Also this: https://support.smartbear.com/viewarticle/70797/

 

Says: "If you are testing a Java Web Start application embedded into a web page"

 

With the "If" implying to me that they can also be tested outwith the browser?

AlexKaras
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Hi,

 

Yes, no showstopper for this scenario. Started JNLP is visible in TestComplete as one of the java processes and can be controlled like any other desktop application. You just need Web module in TestComplete to (conveniently) launch JNLP application from web page and Desktop module to deal with the java application.

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
dczerniawski
Occasional Contributor

Re: Can I test a JNLP app that does not run in a browser?

I have never created tests - and neither has my employer. SmartBear seems like what I want because we could integrate our tests with LoadComplete and that is the eventual goal. They have no load testing capability either.

 

I just didn't want to start and find out I had chosen the wrong product. I figured it would be a little more difficult than testing a web page.

 

So do I need to download anything in addition to TestComplete to get started? Do I need TestNG too?

Colin_McCrae
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Nope. You should be good to go. 

View solution in original post

AlexKaras
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Hi,

 

> I have never created tests [...]

Just as a quick reference:) :

-- TestComplete is a tool that makes it possible to do functional testing of the Windows/Android/iOS applications. Functional testing means that the tool supports tests that have some complex internal logic and may branch execution flow depending on the tested application state, used test data, OS or browser version, etc. TestComplete supports both Web and Java applications and can drive more than one application within the same test (which is not possible with selenium for example). So it is not a problem for TestComplete to do something on the web page, start execution of the standalone JNLP application, switch to this application and continue with it. TestComplete licenses three modules (Web, Desktop and Mobile) and you must have a license for the proper module to unleash the whole power of TestComplete for the application of the given type. In your case you will need a Web module to conveniently drive your Web application and Desktop module to drive Java application. TestComplete emulates how human end-user works (via mouse and keyboard control) and thus, like the read human, cannot drive more than one application at the moment. If you need to do concurrent testing of your (usually) backend application, for example, emulate as if more than one user tries to edit the same data at the same moment of time, TestComplete has a Network Suite functionality for this.

 

-- LoadComplete is a load testing tool for the applications that exchange data via the http(s). The tool records traffic between client and server and than replays the recorded traffic as if it was generated by a big number of clients. Because the main goal for this type of testing is to check how the server application handles big traffic, the tool does not support complex test logic and customization. This must be done via the functional tests in TestComplete. For example, it is not the goal of load test to check that if you are trying to order more items than have left on the stock, then the server must respond with some message that no more items are available. Instead, the load test checks that the server responds to the request and does not fail. (Whether the data in the response are correct or not is usually irrelevant for the load test.)

 

-- SoapUI/SoapUI NG is a tool that can query web service and process (check, validate) the returned response. TestComplete supports testing of not complex Soap web services likewise LoadComplete do. But SoapUI supports much wider range of web service technologies. SoapUI, like TestComplete, is primarily a functional testing tool and if you need to load test your web service, then you must combine your SoapUI tests with LoadUI / LoadUI NG.

 

-- LoadUI / LoadUI NG is a tool that can generate load for the web service using SoapUI/SoapUI NG functional tests.

 

Summarizing: if the only thing that you need is to drive your web application, start standalone JNLP application and continue with this application, the only thing that you will need is TestComplete with Web and Desktop modules.

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================

View solution in original post

dczerniawski
Occasional Contributor

Re: Can I test a JNLP app that does not run in a browser?

Alex,


From the website LoadComplete "...works with both traditional HTML web sites and with Rich Internet Applications using modern web technologies like AJAX, ASP.NET, Java, Flash, Flex and Silverlight".

 

I am going to use TestComplete to create functional tests for my Java RIA. I assumed I could couple LoadComplete with TestComplete to do load tests via multiple RIA. The Java code my RIA is written in (ulc.canoo.com) does generate HTTP requests to communicate with the corresponding half-objects of the client on the server side. But I need these complex HTTP requests to be generated by the RIA.

 

Does LoadComplete work with RIA like the website says or am I out of luck? Thanks.

dczerniawski
Occasional Contributor

Re: Can I test a JNLP app that does not run in a browser?

Alex,

 

I can launch the jnlp application via the browser but my objects are mapped to the browser process, not jp2launcher. jp2launcher isn't shown under Sys as a process. When I re-run a test it fails because it can't find the object, probably because it is trying to map it as a child of browser. I attached some screenshots if that helps.

 

Any thoughts? I have the web and desktop module installed, but maybe I am not using the web module correctly?

dczerniawski
Occasional Contributor

Re: Can I test a JNLP app that does not run in a browser?

If I launch it from the command line it still maps the objects to the browser. My SE has opened a case with support.

AlexKaras
Community Hero

Re: Can I test a JNLP app that does not run in a browser?

Hi,

 

> Does LoadComplete work with RIA [...]

Excuse me for the delayed reply - there were holidays here...

What LoadComplete does in essence, it records http(s) traffic, do some optional processing and replays the traffic.

So, the type of the application that generated recorded traffic is irrelevant for LoadComplete.

The major points here are:

-- Application (client) must communicate with the server via http(s) only. If some other protocol is used for some data exchange at some point, this traffic will not be recorded, thus not replayed and this will lead to incorrect final results and, probably, to application malfunction;

-- Application must exchange data with the server in the format that LoadComplete must understand. Otherwise, LoadComplete will not be able to process data during replay to customize them so they look like created by different clients.

 

So, as all data exchange between your application and the server is done in the format that is understood by LoadComplete there should be no problem with load testing of your application. Though, you must try to know for sure. 🙂

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
cancel
Showing results for 
Search instead for 
Did you mean: