Is it possible to run the Testrunner in a docker container?
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it possible to run the Testrunner in a docker container?
Hi,
Is it possible to run the Testrunner in a Docker container? I have not be successful running it without X11.
/ Johan
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Same / related issue here. If I just try to run testrunner.sh (no options) I get this error:
java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:284) at com.eviware.soapui.analytics.providers.BaseAnalyticsProvider.getStrScreenSize(BaseAnalyticsProvider.java:48) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.getEventLabel(GoogleAnalyticsProvider.java:165) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.buildParametersString(GoogleAnalyticsProvider.java:73) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.trackAction(GoogleAnalyticsProvider.java:48) at com.eviware.soapui.analytics.AnalyticsManager$3.run(AnalyticsManager.java:167) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Then I add export DISPLAY=:0.0 and get the following error:
Exception in thread "Thread-3" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at java.awt.Toolkit$2.run(Toolkit.java:860) at java.awt.Toolkit$2.run(Toolkit.java:855) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854) at com.eviware.soapui.analytics.providers.BaseAnalyticsProvider.getStrScreenSize(BaseAnalyticsProvider.java:48) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.getEventLabel(GoogleAnalyticsProvider.java:165) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.buildParametersString(GoogleAnalyticsProvider.java:73) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.trackAction(GoogleAnalyticsProvider.java:48) at com.eviware.soapui.analytics.AnalyticsManager$3.run(AnalyticsManager.java:167) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Then if I add`-Djava.awt.headless=true` to `JAVA_OPTS` inside `testrunner.sh` I get:
java.awt.HeadlessException at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:284) at com.eviware.soapui.analytics.providers.BaseAnalyticsProvider.getStrScreenSize(BaseAnalyticsProvider.java:48) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.getEventLabel(GoogleAnalyticsProvider.java:165) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.buildParametersString(GoogleAnalyticsProvider.java:73) at com.eviware.soapui.analytics.providers.GoogleAnalyticsProvider.trackAction(GoogleAnalyticsProvider.java:48) at com.eviware.soapui.analytics.AnalyticsManager$3.run(AnalyticsManager.java:167) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Version: 5.2.1 (Open Source)
OS: 64bit Alpine Linux
JRE: 8
There have been several threads here about the same issue, and clearly something is not quite right anymore. Doesn't seem to be any real solution from SmartBear either? This seems pretty basic functionality (to want to run tests headlessly on a box with no X11).
Has there been any updates / resolutions to this issue?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you can't do the above on linux machine, then you can do the same in windows and see the soapui-settings.xml, there you would find a relevant entry. Then make the same change in linux machine.
You can also the do the same using groovy script below, but you can try putting it in Project's After Load script and see that works.
com.eviware.soapui.SoapUI.getSettings().setBoolean(com.eviware.soapui.settings.UISettings.DISABLE_ANALYTICS,true)
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
here you go:
soapui latest dockerized version
https://hub.docker.com/r/nmrao/soapui/
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rao,
First of all, thanks for this great docker image.
I'm having issued to set the proxy in my project, I already have proxy set in my soapui-settings.xml. Is there any way to pass my soapui-settings.xml to the container, instead of using the one from /opt/SoapUI-5.4.0/soapui-settings.xml
Thanks
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You should be able to use "docker cp" to copy your settings file to the image/container.
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the suggestions @nmrao I ended using quotes in the command, like this:
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Rao.

- « Previous
-
- 1
- 2
- Next »
- « Previous
-
- 1
- 2
- Next »