【问题标题】:How do I run multiple Selenium tests from Jenkins simultaneously?如何同时从 Jenkins 运行多个 Selenium 测试?
【发布时间】:2024-04-23 11:50:02
【问题描述】:

当前设置: Jenkins 指向 -> POM.xml [3 Profiles setup - 每个指向不同的 env] -> Profile 1 指向 ->testng1.xml,Profile 2 指向 ->testng2.xml,Profile 3 指向 ->testng3。 xml。

我希望到目前为止这是有道理的。

我想知道如何同时启动两个或多个作业而不会在控制台中出现此错误:

Executing Maven:  -B -f C:/Users/user1/workspace/project1/pom.xml clean test site org.reportyng:reporty-ng:1.2:reportyng -Pbenen1

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project project1: Failed to clean project: Failed to delete 

使用 XVFB 插件可以让我在同一台机器上同时运行多个测试吗?

我感觉这与所有这些 TestNG.xml 文件都位于同一个项目中并因此共享相同的目标、src 和测试输出文件夹这一事实有关。我不确定如何根据 testng.xml 测试套件将它们分开。

任何帮助将不胜感激。 谢谢!

【问题讨论】:

  • TestNG 是您在此设置中的测试经理。试试 TestNG 的文档。

标签: java maven jenkins testng


【解决方案1】:

我们已经同时成功运行了。我们没有定义配置文件,但我们使用不同的参数运行,如下所示。

  1. 已在 Jenkins 配置中检查了必要时执行并发构建。

  2. 构建步骤是clean generate-sources test -DsuiteXmlFile=src/test/resources/GroupBased_Tests.xml

  3. 每个构建都使用不同的参数值运行。

您可以尝试参数化套件 xml,而不是通过配置文件。

HTH。

【讨论】:

  • 我不明白第 2 步和第 3 步。这是一个 maven 参数:-DsuiteXmlFile=src/test/resources/GroupBased_Tests.xml 从 Jenkins 运行时,您在哪里传递环境参数?我在我的 testng.xml 文件中使用参数。我有三个不同的 testng.xml 文件和三个不同的环境参数设置。我不确定我这样做是对还是错,但它似乎正在工作,除了整个同时运行的部分。
  • 这是一个运行 Testng 测试的 maven surefire 插件选项。 Surefire 插件与测试阶段相关联。基本上,我们案例中的并行运行留给 Jenkins,它为每个并发构建创建临时工作区。
  • 如果您使用 Jenkins 对构建进行参数化并将 XML 作为参数而不是创建 3 个差异配置文件,则可以构建 3 次。 (不是 Testng 参数,它们可以留在你的 XML 中)
最近更新 更多