gpt4 book ai didi

java - 如何在多台机器上并行执行 testNG 测试用例?

转载 作者:行者123 更新时间:2023-12-02 05:55:28 25 4
gpt4 key购买 nike

我已经为服务级别测试实现了测试用例,我可以通过使用 {parallel =tests} 在套件级别并行执行它们,如下所示

<suite name="Suite_Name" parallel="tests" thread-count="10">

如果我有一个由子套件组成的父套件,如下所示,并且如果我想创建一个 Jenkins 作业来执行该父套件,是否有任何方法可以并行执行这些子套件[内部每个子套件将并行执行它的测试用例]?

<suite>
<suite-files>
<suite-file path="./testSuite_1.xml"/>
<suite-file path="./testSuite_2.xml"/>
<suite-file path="./testSuite_3.xml"/>
<suite-file path="./testSuite_4.xml"/>
</suite-files>

我知道如果我们有任何基于 Web 的测试用例,则可以使用 Selenium 网格,但我拥有的用例不是基于 Web 的。它们是 API/服务级别的测试用例,由定制框架使用 Java、TestNG 和 Jax-rs 库实现。

最佳答案

这在很大程度上取决于您运行测试的方式。假设您正在讨论在 CI 环境中运行测试。我将使用GitLab pipelines来说明我的答案。

如果您能够从命令行运行单个套件。类似runTests suite1。然后,在管道中为每个测试套件配置一个作业。通过将所有作业分配到同一阶段,它们将并行运行。

基于您的 .gitlab-ci.yml 的示例看起来像这样:

stages:
- build
- test

job 1:
stage: build
script: runBuild

job 2:
stage: test
script: runTests suite1

job 3:
stage: test
script: runTests suite2

job 4:
stage: test
script: runTests suite3

job 5:
stage: test
script: runTests suite4

注意:如果您为问题添加更多详细信息,请随时给我留言,我将相应地更新我的答案。 CI 系统、构建工具等都会有所帮助。

Jenkins 细节

感谢您对您的环境的澄清。我个人还没有和 Jenkins 一起做过这件事。然而,Cloudbees 有一个blog post其中讨论了并行运行作业。请查看该帖子中的拆分测试部分,它可能正是您正在寻找的内容。

关于java - 如何在多台机器上并行执行 testNG 测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56016065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com