gpt4 book ai didi

selenium - 如何在运行 Selenium Webdriver (Java) 测试用例时获得一致的结果?

转载 作者:行者123 更新时间:2023-12-04 22:06:20 25 4
gpt4 key购买 nike

在运行 Selenium WebDriver 测试用例时,我想要一致的输出。

我在一个 java 类中有 30 多个测试用例。当我运行它时,我在不同的方法中遇到错误。例如。有时在第 12 个测试用例中失败,有时在第 8 个测试用例中失败,有时在第 2 个方法中失败,有时在运行时没有任何错误。我确信所有的测试用例都是正确的。

它测试非常快。我以为这会是问题所在。所以我加了

new FireFoxDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

即使它不一致

有人能尽快帮我吗?

最佳答案

我强烈不同意 Arran 的说法,即 UI 测试非常不可靠。绝对不必如此。学习解决两个主要问题的可靠方法通常可以解决很多问题。

间歇性故障通常是由围绕动态内容的同步问题或定位器不够灵活以处理不断变化的条件引起的。

例如,您正在从网格/表格中提取一行,而您的定位器是基于位置的。 (第 3 行,第 5 个单元格)一次运行的排序顺序不同,因此测试中断。某些服务器端技术(如 ASP.NET)生成的动态 ID 可能会有所不同,因此这是另一个问题。

我鼓励你仔细评估你的定位器/选择器,看看它们是否健壮。避免使用硬连线的 xpath,尽可能使用 ID——但要确保它们不是动态 ID,如果是动态 ID 并适当处理它们。

您提到您已经尝试使用隐式等待。确保您了解隐式等待和显式等待之间的区别。 (阅读更多 here in Selenium docs 。)您可能需要显式等待脚本中下一步的确切条件。除非在特殊情况下,否则不要重复不要在测试中使用 Thread.Sleep 或类似的手动延迟。 WebDriver's Wait 是一个更好的方法。

关于selenium - 如何在运行 Selenium Webdriver (Java) 测试用例时获得一致的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12709444/

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