在ReportPortal中手动设置启动名称,Java
我正在使用Jenkins管道并行运行测试,当测试发送到ReportPortal时出现问题,它们都在单独的启动中,我试图做的是手动设置测试的启动名称(精确的启动编号),以便它们都在一次启动中 我在这里寻找答案,但只找到了NUnit和TestNG的一些答案(这对我没有帮助,因为我有单独的程序实例)。我使用Java主类来运行管道中的每个测试,我读到我可以将启动名称设置为环境变量。遗憾的是,我找不到任何关于它的实现情况的信息。我的问题是,甚至可以在没有TestNG的情况下设置启动名称吗?如果可以使用环境变量,我应该如何在runner方法中使用变量来强制启动名称在ReportPortal中手动设置启动名称,Java,java,jenkins-pipeline,reportportal,Java,Jenkins Pipeline,Reportportal,我正在使用Jenkins管道并行运行测试,当测试发送到ReportPortal时出现问题,它们都在单独的启动中,我试图做的是手动设置测试的启动名称(精确的启动编号),以便它们都在一次启动中 我在这里寻找答案,但只找到了NUnit和TestNG的一些答案(这对我没有帮助,因为我有单独的程序实例)。我使用Java主类来运行管道中的每个测试,我读到我可以将启动名称设置为环境变量。遗憾的是,我找不到任何关于它的实现情况的信息。我的问题是,甚至可以在没有TestNG的情况下设置启动名称吗?如果可以使用环境
java -Dmaven.clean.skip=true -Dbrowser=firefox -Dos=linux -jar -Drun.tags=@CreateEntity target/standalone/web-tests.jar
这是我为每个测试所做的设置(运行标签会发生明显变化),cucumber的胶水和reportportal的插件都在runner方法中。TestNG对它不是强制性的。在这里,您可以找到基于JVM的集成配置 这意味着,如果您使用CucumberJVM(在引擎盖下有jUnit),您可以使用任何相关参数 要指定启动名称,可以在
reportportal.properties
文件中或通过命令行将其设置为-Drp.launch=zzz
但它不能解决多线程的问题。为了将所有并行线程报告到1次启动中,可以通过两种方式进行:
launchID
。这意味着您可以从ReportPortal开始启动(作为测试运行程序的一部分或作为Jenkins pre-step+cUrl
请求)。接收launchID
,并与其他线程/运行程序共享它。运行者将使用此id发布数据,而不是为每个线程创建新的启动。最后,进行post步骤以完成启动launchID
。如果在此环境中启动任何其他并行线程,则将使用launchID
自动进行报告
如果在多个虚拟机上以并行模式启动并行执行,这仍然不会影响该情况,但我们也将尝试解决该情况。我一直在尝试找出合并的API请求,可惜没有成功。我得到了400个响应,正文说:
{“error\u code”:40016,“message”:“处理请求时出错。请检查指定的参数:'[DemoScenarios]'”}
,如果我在数组中添加了更多值,它将变为:{“error\u code”:40016,“message”:“处理请求时出错。请检查指定的参数:'[]'”
我发送的请求正文:`{“启动”:[“DemoScenarios#23”,“DemoScenarios#24”],“merge#type”:“BASIC”,“name”:“test”}`