I would like to run my UI Tests SWTBot with Maven/Tycho and Tycho can't get my .product. This my log:
!ENTRY org.eclipse.equinox.app 0 0 2017-12-02 16:36:32.573
!MESSAGE Product tychodemo.bundle.product could not be found.
***WARNING: Display must be created on main thread due to Cocoa restrictions.
!ENTRY org.eclipse.osgi 4 0 2017-12-02 16:36:32.760
!MESSAGE Application error
!STACK 1
...
This is my pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>tychodemo.swtbot.test</artifactId>
<packaging>eclipse-test-plugin</packaging>
<parent>
<groupId>tychodemo</groupId>
<artifactId>tychodemo.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../tychodemo.parent</relativePath>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>false</useUIThread>
<!-- use our product and application to launch the tests -->
<product>tychodemo.bundle.product</product>
<application>org.eclipse.e4.ui.workbench.swt.E4Application</application>
</configuration>
</plugin>
</plugins>
</build>
</project>
Is it the right place to put my .product?
Thank you, Antoine
The error seems to be indicative of an issue on the MacOS platform.
To launch the tests on a mac you need to specify the -XstartOnFirstThread
command line option in a separate profile:
<profile>
<id>macosx</id>
<activation>
<os>
<name>macosx</name>
<family>mac</family>
</os>
</activation>
<properties>
<ui.test.vmargs>-Xmx512m -XX:MaxPermSize=256m -XstartOnFirstThread</ui.test.vmargs>
</properties>
</profile>