Selenium webdriver 当测试结果失败时,容器状态为错误
我已经使用minikube在本地设置了Kubernetes环境。我创建了一个包含3个容器的作业Selenium webdriver 当测试结果失败时,容器状态为错误,selenium-webdriver,kubernetes,testng,containers,minikube,Selenium Webdriver,Kubernetes,Testng,Containers,Minikube,我已经使用minikube在本地设置了Kubernetes环境。我创建了一个包含3个容器的作业 枢纽 铬 应用程序(Selenium TestNG) 当我申请/创建作业时,将设置Hub/Chrome/App。执行selenium测试 如果所有测试都成功完成,您将看到容器的状态,如下所示 webAutomation1应用程序的结果 上述情况与预期相符。在容器列表方面看起来不错 现在,如果我们已经完成了应用程序(执行测试),但出现了如下失败 然后,我的容器列表将显示为错误 现在我使用IT
- 枢纽
- 铬
- 应用程序(Selenium TestNG)
/**
* |---------------------|---------|--------|-------------|------------------------------------------|
* | FailedWithinSuccess | Skipped | Failed | Status Code | Remarks |
* |---------------------|---------|--------|-------------|------------------------------------------|
* | 0 | 0 | 0 | 0 | Passed tests |
* | 0 | 0 | 1 | 1 | Failed tests |
* | 0 | 1 | 0 | 2 | Skipped tests |
* | 0 | 1 | 1 | 3 | Skipped/Failed tests |
* | 1 | 0 | 0 | 4 | FailedWithinSuccess tests |
* | 1 | 0 | 1 | 5 | FailedWithinSuccess/Failed tests |
* | 1 | 1 | 0 | 6 | FailedWithinSuccess/Skipped tests |
* | 1 | 1 | 1 | 7 | FailedWithinSuccess/Skipped/Failed tests |
* |---------------------|---------|--------|-------------|------------------------------------------|
*/
您的容器可能正在使用TestNG作为主进程,任何未被视为通过测试的测试(即退出代码不同于0)都将导致pod处于终止/错误状态
您可以通过以下方式确认这一点
e、 g:你可以检查你的吊舱状态;输出如下所示:
$ kubectl get my-pod-name -o=json | jq .status.containerStatuses[].state
{
"terminated": {
"containerID": "docker://9bc2497ec0d2bc3b1b62483c217aaaaa1027102a5f7ff1688f47b94254",
"exitCode": 1,
"finishedAt": "2019-10-28T02:00:10Z",
"reason": "Error",
"startedAt": "2019-10-28T02:00:05Z"
}
}
并检查退出代码是否与您的TestNG状态代码匹配。如果测试失败,则返回代码不是0,从而导致pod中的退出代码出错?@Edurado,完美!我确实查过了。谢谢你的回答。它确实告诉我问题出在哪里。是否有一种方法可以始终将状态代码0发送到容器?这样它就以完成状态结束了吗?您可以在作业命令中附加。。。