如何在使用 xdist 执行 pytest 测试后聚合测试结果以发布到 testrail



我遇到了这样的问题。我目前正在使用 pytest 来运行测试用例,并使用 xdist 并行运行测试并将测试结果发布到 TestRail 来减少执行时间。问题是在使用xdist时,pytest-testrail插件为每个xdist工作线程创建Test-Run,然后发布像Untested这样的测试用例。

我尝试了这个钩子pytest_terminal_summary以防止pytest_sessionfinish插件钩子被多次调用。

我希望只创建一个测试运行,但仍会创建多个测试运行。

我遇到了同样的问题,但找到了一种使用胶带的解决方法。我发现如果我们使用 --tr-run-id 键运行测试,则所有结果都在测试运行中正确收集。如果您使用 jenkins 作业来自动化流程,则可以执行以下操作:1( 使用 testrail API 创建测试运行2( 获取此测试运行的 ID3( 使用 --tr-run-id=$TEST_RUN_ID 运行测试

我使用了这些文档:http://docs.gurock.com/testrail-api2/bindings-pythonhttp://docs.gurock.com/testrail-api2/reference-runs

from testrail import *
import sys
client = APIClient('URL')
client.user = 'login'
client.password = 'password'
result = client.send_post('add_run/1', {"name": sys.argv[1], "assignedto_id": 1}).get("id")
print(result)

然后在詹金斯壳牌

RUN_ID=`python3 testrail_run.py $BUILD_TAG`

然后

python3 -m pytest -n 3 --testrail --tr-run-id=$RUN_ID --tr-config=testrail.cfg ...

现在您可以使用TRCLI(TestRail CLI(来解决此问题并避免不必要的代码。有关详细信息,请参阅此答案 - https://stackoverflow.com/a/76809919/1502300

相关内容

  • 没有找到相关文章

最新更新