我们正在为我们的 Eclipse RCP 应用程序编写 SWTBot 测试。我们的 RCP 应用程序包括 NatTable 组件并具有启用/禁用透视的授权机制。从 Eclipse 启动时,测试套件运行良好。现在我们正在尝试将它与 Tycho 集成。
这是为运行 SWTBot 测试套件创建的 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.test</groupId>
<artifactId>com.test.demo.client.gui</artifactId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.tsystem.demo.client.gui.swtbot.test</artifactId>
<packaging>eclipse-test-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>0.20.0</version>
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>false</useUIThread>
<!-- launch our product and application in the tests -->
<product>com.test.demo.client.gui.ui.product</product>
<application>com.test.demo.client.gui.ui.application</application>
</configuration>
</plugin>
</plugins>
</build>
</project>
当我们执行 Tycho 构建以启动 SWTBot 测试套件时,我们遇到以下错误:
[错误] 无法在项目 com.tsystem.rvs.client.gui.swtbot.test 上执行目标 org.eclipse.tycho:tycho-surefire-plugin:0.20.0:test (default-test):发生意外错误(返回码 -1)。有关详细信息,请参阅日志。-> [帮助 1]
我的第一个问题是 Tycho 如何在不创建产品的情况下对我们的 RCP 应用程序执行测试?我尝试了几个示例,在这些示例中,测试套件是在创建产品之前执行的。我们有启动屏幕的自定义配置,服务器的登录机制,所以启动 swtbot 测试套件是否需要额外的配置。我们尝试以一种视角和视图启动 RCP 应用程序,它与 tycho 配合良好,但在我们的案例中,tycho 无法启动应用程序。在目标/数据和配置下也没有创建日志文件。
如果产品是在执行 SWTBot 测试套件后创建的,有人可以解释 Tycho 从哪里获取插件来启动应用程序吗?