[英]How can I execute testNG test cases in parallel on multiple machines?
我已經為服務級別測試實現了測試用例,我可以使用{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管道來說明我的答案。
如果您能夠從命令行運行單個套件。 像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系統,構建工具等等都會有所幫助。
詹金斯具體細節
感謝您對環境的澄清。 我沒有和詹金斯親自做過這件事。 但是,Cloudbees有一篇博文 ,講述了並行運行的工作。 請查看該帖子上的拆分測試部分,它可能正是您所尋找的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.