首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ReportPortal,Java中手动设置启动名

在ReportPortal,Java中手动设置启动名
EN

Stack Overflow用户
提问于 2019-10-02 10:59:06
回答 1查看 3.3K关注 0票数 0

我使用Jenkins管道并行运行测试,当测试发送到ReportPortal时出现问题,它们都是单独启动的,我要做的是手动设置测试的启动名(发射号是精确的),这样它们就都在一次发射中了。

我在这里寻找答案,但只找到一些NUnit和TestNG (这对我没有帮助,因为我有单独的程序实例)。我使用Java类来运行管道中的每个测试,我读到可以将启动名设置为一个环境变量。遗憾的是,我找不到任何信息,它的实现是什么样子。我的问题是,是否可以在不使用TestNG的情况下设置启动名,如果可以使用环境变量,那么应该如何使用runner方法中的变量来强制执行启动名?

代码语言:javascript
复制
 java -Dmaven.clean.skip=true -Dbrowser=firefox -Dos=linux -jar -Drun.tags=@CreateEntity target/standalone/web-tests.jar

这是我为每个测试设置的(运行标记明显改变了),用于黄瓜的胶水和用于reportportal的插件都在runner方法中。

EN

回答 1

Stack Overflow用户

发布于 2019-10-15 12:26:11

TestNG并不是强制性的。在这里,您可以发现基于JVM的集成信任https://reportportal.io/docs/JVM-based-clients-configuration,这意味着,如果您使用CucumberJVM (它下面有jUnit ),您可以使用任何相关的参数。

要指定启动的名称,可以在reportportal.properties文件中或通过命令行将其设置为-Drp.launch=zzz

但是它不能解决多线程的问题。为了将所有并行线程报告到1启动中,您可以通过以下两种方式实现它:

  1. 跨线程共享launchID。这意味着您可以在ReportPortal (作为测试运行程序的一部分或作为Jenkins步骤前+ cUrl请求的一部分)启动。接收launchID并与其他线程/运行程序共享它。运行程序将使用这个id来发布数据,而不是为每个线程创建新的启动。最后,请完成启动。
  2. 通过UI或API合并启动。一旦所有执行完成,您可以通过UI合并它们。或者您可以在并行会话期间收集启动OR,在所有执行完成之后,只需运行API调用来合并启动.

与ReportPortal v1-v4相关。

对于版本5+ of ReportPortal,我们计划通过重新运行功能来最小化这种工作。https://github.com/reportportal/reportportal/issues/363

默认情况下,测试运行程序将通过本地存储上的文件共享launchID。如果在此环境中启动任何其他并行线程,则将使用launchID自动报告。

它仍然不影响这种情况,如果您有并行执行,以并行模式在乘VM启动,但是我们也将尝试解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58200113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档