How to call Java main method from Groovy Script in SoapUI
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How to call Java main method from Groovy Script in SoapUI
Can someone please advice me how to call java main method along with argument from Groovy script.
Below are the steps which I have done
1) Write the code and eclipse under the main method
2) Taking 4 parameters as input from the main method.
3) Run the class in eclipse and it's working fine.
4) Created the Jar file
5) Place in the bin/ext folder of ReadyAPI
6) Restart ReadyAPI
now the question is how can I call the main method from the groovy script. I try creating an object of the class and call method as same we call another method but it's not working. Is there any way to call the main method of the class.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you import the class name where "idea" is package and "Execute" is class name:-
import com.idea.Execute
OR
import com.idea.* //To import all the classes
Then try this:-
Execute ex = new Execute(); //Add parameters based on requirements. ex.call() //where call() is method of Execute class
If it solved you problem. Please accept as solution and don't forget to give kudos.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@avidCoder, I do not have any method in the class. It's the only main method I have in the class. I try doing this but it did not work
My java code looks like this
package project;
public class MyClass{
public static void main(String[] args) {
// performing some functionality here
}
}
Groovy script :
import project.MyClass;
MyClass sample = new MyClass();
sample.main(".abcd","Test","tom","pass");
It throws below error and I am not sure, Is this error coming because I am calling main method or any other issue
ERROR:java.lang.NoSuchMethodError: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, Then this Java compatibility issue. What is your soapui version and the Java version?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also, the jar files you are using to execute the program in eclipse? Its problem with the extenal jars which you are using in eclipse. That jars may not be compatible with the ready API version.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You remember, I had resolved the same error issue you were facing 1 month back related to running selenium code in Ready API -
https://community.smartbear.com/t5/SoapUI-Pro/Simple-Functional-Web-Testing/td-p/177519
Here, I gave you solution to use correct versions of ready API and selnium drivers. And finally it worked for you. Here, it is the same thing. You need to figure out. Else you can share the jars you are using in eclipse.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no way one gets the above error with mentioned code snippet.
Any ways, you can't call the main method on the object because that is static one.
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@avidCoder, Yes, I think its same issue. Can you please let me know how to find compatibility between ready api, chromedriver version, and selenium as it is working fine in eclipse.
The chrome version you have suggested before in here (https://community.smartbear.com/t5/SoapUI-Pro/Simple-Functional-Web-Testing/td-p/177519), it just launches the chrome but it won't do anything further like searching for the particulate field and place the values etc..
I use my code with 2 chromedriver, one is suggested by you(2.26) and another one is 2.38.it is working fine with 2.38 but I think Ready API did not support 2.38 chrome version. As I use the same selenium jar in eclipse and ready api. It works in eclipse but not in readyapi.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@nmrao Below is the configuration I am using it.
Selenium jars
httpclient-4.3.4.jar
selenium-server-standalone-2.41.0.jar
Ready API
2.3.0
Chrome Driver
2.26
2.38
Chrome version
Version 65.0.3325.181 (Official Build) (64-bit)
Eclipse IDE
Version: Photon Release (4.8.0)
When I use the above selenium jar files with chromedriver 2.26, it just opens the chrome browser and does not do anything further - maybe the chrome version I am using is higher (I executed this on eclipse as well as ReadyAPI both). However, when I use chromedriver 2.38 with the same selenium jar files, it does work on eclipse but not on readyapi.
