当前位置: 首页 > 知识库问答 >
问题:

尝试使用Tycho启动SWTBot测试套件时出现“意外错误(返回代码-1)”

井嘉胜
2023-03-14

我们正在为EclipseRCP应用程序编写SWTBot测试。我们的RCP应用程序包括NatTable组件,并具有启用/禁用透视图的授权机制。从Eclipse启动测试套件时,它工作正常。现在我们正试图将其与第谷整合。

这是pom。为运行SWTBot测试套件而创建的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测试套件时,我们得到以下错误:

[错误]无法执行目标组织。日食第谷:第谷surefire插件:0.20。0:项目com上的测试(默认测试)。t系统。房车。客户gui。swtbot。测试:发生意外错误(返回代码-1)。有关详细信息,请参阅日志-

我的第一个问题是Tycho如何在不首先创建产品的情况下对我们的RCP应用程序执行测试?我尝试了几个示例,在这些示例中,测试套件在创建产品之前执行。我们有启动屏幕的自定义配置,服务器的登录机制,所以启动swtbot测试套件需要额外的配置。我们尝试使用一个透视图和视图启动RCP应用程序,它与tycho配合良好,但在我们的情况下,tycho无法启动该应用程序。在目标/数据和配置下也没有创建日志文件。

如果产品是在执行SWTBot测试套件之后创建的,有人能解释一下Tycho从哪里获取插件来启动应用程序吗?

共有1个答案

麻鹏鹍
2023-03-14

如果产品是在执行SWTBot测试套件之后创建的,有人能解释一下Tycho从哪里获取插件来启动应用程序吗?

这是一个好问题,它正在接近你问题的根源。

但是首先我们需要澄清“产品”这个术语。不幸的是,它可能意味着两件不同的事情:“产品”可能意味着扩展到org.eclipse.core.runtime.products扩展点,或者产品配置文件(*。产品)。对于测试,只有产品扩展是相关的。

与应用程序类似,还有扩展点org.eclipse.core.runtime.applications

因此,为了使测试能够使用产品和应用程序,测试运行时需要包含定义产品和应用程序扩展的插件。(扩展点扩展在插件的plugin.xmls中定义。)在Eclipse中,这通常是自动发生的,因为Eclipse在测试运行时包含了工作区中的所有插件。但是,它没有工作空间的概念,测试运行时只包含测试插件及其所有可传递的依赖项。您的测试插件似乎不依赖于定义产品和应用程序的插件,因此这就是测试执行失败的原因。(顺便说一句,/target/work/configuration/config.ini列出了Tycho创建的测试运行时的所有插件。)

因此,要将带有产品和应用程序扩展的插件添加到测试运行时,您可以

  • 在测试插件的清单中为它们添加依赖项,例如Require Bundle

有关错误消息的更多详细信息:“返回代码-1”错误是由配置

配置未知代码

注:自第谷0.22以来。0,如果在测试运行时中配置了未定义的应用程序,则会有一条更明确的错误消息:

在测试运行时找不到应用程序"xyz"。确保测试运行时包含定义此应用程序的bundle。

 类似资料:
  • 我们正在为eclipse RCP应用程序编写SwtBot测试用例,它在eclipse中运行良好。现在,我们正在将测试套件与现有的tycho集成,这样在创建产品时,测试用例也可以执行。下面提到为SWTBot测试套件创建的pom.xml: 请让我知道配置有什么问题?

  • 问题内容: 尝试在ipython Notebook中使用Selenium打开Firefox时出现错误。我环顾四周,发现了类似的错误,但没有与我得到的错误完全匹配的错误。有人知道问题可能是什么以及我如何解决?我正在使用Firefox 22。 我输入的代码如下: 代码返回的错误如下: 问题答案: 尝试在初始化时指定Firefox二进制文件 FirefoxDriver查找的默认路径为。参见Firefox

  • 我尝试使用< code>minikube start启动minikube,但出现以下错误: charlie@charlie:~$minikube start本地库伯内特斯v1.10.0集群…启动VM… E0705 00:39:35.199099 20888start.go:168]启动主机时出错:创建主机时出错:执行步骤出错:运行预先检查。:我们从版本5开始支持Virtualbox。您的Virtu

  • 因此,我尝试使用coinbase API。我正在尝试一个简单的测试,看看我是否可以让它工作,但我得到了各种作曲家的错误。 目前,我得到意外的t'use'为这个代码: 那么,我的使用声明在错误的地方吗?我在索引函数和类之外尝试过它们。两者产生的结果与此完全不同。 在Keks班之外,我得到了 致命错误:在第15行的/home/content/61/11420661/html/beta/applicat

  • 我正在尝试在表a中插入外键(在phpmyadmin中): 将表A添加外键(id_B)引用B(id_B); 但我得到了一个错误: 表A的id_A为主键,表B的id_B为主键。这两个表都使用innoDB作为存储引擎,表A中的id_B列和表B中的id_B列具有相同的类型。 出了什么问题,我该如何解决?

  • 我已经在我的Win 10上安装了XAMPP 7.2.10,Apache和MySQL等其他服务运行良好。但是Tomcat服务没有启动,并且会抛出一个错误:“Tomcat Started/Stopded with error,返回代码:1,确保您安装了JavaJDK或JRE,并且所需的端口是免费的,检查“/xampp/tomcat/logs”文件夹以获取更多信息”XAMPP Tomcat错误图像 我在