我正在使用Azure DevOps构建管道来运行我的硒Web自动化测试(由docker容器内的maven运行)
我用来运行测试的“管道作业/任务/阶段”是“ docker compose”
我发现的唯一发现是,可以搜索日志,但没有过滤条件。
答案 0 :(得分:1)
如果您的目标是在一个或多个测试失败时使构建失败,那么我建议您在构建过程中再增加一个步骤:Publish Test Results任务
这是测试使用默认任务Visual Studio Test以外的其他任务运行的必要步骤,该任务包括将测试结果文件发布到Azure DevOps,并使生成的版本知道您的测试结果(然后让您决定一个或多个测试失败时该怎么做)
在您的情况下,您可能还必须找到一种从容器中提取测试结果文件的方法,因为您的测试结果可能是在容器内部产生和存储的(Publish Test Result task
无法使用)
对于您的第二个问题,我不知道有任何方法可以直接从Web界面直接过滤输出日志,很抱歉:(
答案 1 :(得分:1)
我们在赛普拉斯测试中遇到了这个问题(您应该放弃硒来制造赛普拉斯,这是它的甜头),并通过手动获取退出代码来解决。我们还发现,即使有错误运行,如果正在运行后台进程,AzureDevops也会挂起,因此,如果像我们一样启动Web服务器,请务必注意这一点。
- bash: |
yarn test-ci:e2e 2> /dev/null
if [ $? -eq 0 ]
then
yarn stop
exit 0
else
yarn stop
exit 1
fi
displayName: 'Run Cypress Tests'
答案 2 :(得分:0)
对于正在寻找过滤日志方式的任何人,如果有多个服务正在运行,则可以创建运行docker命令的新的Azure构建管道任务(Docker):
docker logs -f NAME_OF_THE_SERVICE
这样,您将只看到来自所需服务的日志。