INTRO
我是一个使用进行GUI测试的学生。我无法让测试用例在我的桌面上运行,但是我团队的其他成员能够。
正在使用什么技术/软件,
我们使用JDK 14、IntelliJ Community、BitBucket和JUnit 4。
什么是我测试
我正在测试一个示例单页应用程序。我添加任务,使用日期选择器添加日期,然后单击“添加项”按钮。但是,对按钮的单击没有注册,任务也没有添加到列表中。如果我重新启动我的计算机,第一个@Test可以工作,但是第二个@Test不能清除cookie,第二个@Test失败。
详细版本:
我从一个表面图书2到一个Alienware R10桌面。我的团队能够在没有问题的情况下完成项目并运行所有测试用例。然而,我无法做到。同样的程序工作在我的SB2上,但不适用于Alienware R10 (AMD3900处理器)。
我尝试过的:
附加详细信息:
结论
我很担心我想在周末学习和练习,但是我花了很多时间来解决这个问题。我的下一个想法是使用Eclipse而不是IntelliJ,看看是否可以在那里运行它。这里的任何建议都会有帮助。
编辑
Eclipse也不起作用,也有同样的问题。这告诉我,这个问题肯定与IDE无关。这可能是与CPU或浏览器相关的问题。我还尝试通过WebDriverManger依赖关系使用其他驱动程序。
经过进一步的研究,如果我在代码中添加了一些Thread.sleep()函数,而不是ExpectedConditions和元素的可访问性,它似乎会注册单击,并实际添加到任务中。问题可能源于使用ExpectedConditions API,但这同样适用于我的队友,而不是我。这可能是AMD芯片组的问题吗?
元素可见性可能是在这里使用的错误函数,但是它确实在我的队友机器上工作,所以这就是为什么我没有尝试在那里寻找替代的原因。我们使用的函数查看DOM树,我们可能希望看到浏览器上的可见性。我很难测试这个,因为我没有笔记本电脑可以用。
我调整了我的旧笔记本电脑,这样它就可以出售,因为我有这台新的PC,但我将使用它尝试另一个功能,看看它是否带来了不同的结果。
EDIT2:
Observation/Guess
我想问题是与AMD 3900 CPU。Thread.sleep()将行为更改为至少单击“Add”按钮。它仍然没有通过我所做的测试,而且ExpectedConditions API仍然不起作用。
我将返回Alienware R10,并获得一个英特尔CPU R10或建立我自己的个人电脑。
这是,基于我和我队友的机器之间的行为差异,他们有英特尔,我有AMD,这是一个有教养的猜测。
如果您正面临类似的问题,请确认您是使用AMD或英特尔在这个线程。它也会帮助其他人。我肯定有工作,但他们没有为我工作。我还尝试使用ChromeOptions禁用GPU和其他一些选项。
然而,没有成功,除非有更好的答案,我把责任归咎于AMD 3900 CPU。
谢谢,如果你面临类似的问题或者找到了一个更好的答案,请在这篇文章中做出贡献。任何猜测也可能有帮助。
发布于 2021-05-03 23:57:37
我同意你们队的质量保证。这与IDE无关。我怀疑操纵DesiredCapabilities of WebDriver会解决这个问题。考虑到您使用的是bonigarcia WebDriverManager依赖性,我建议atleat尝试下面的代码,看看是否可以正确地创建WebDriver。
public static void main(String[] args) {
WebDriverManager.chromedriver().setup();
DesiredCapabilities chromeDesiredCapabilities = DesiredCapabilities.chrome();
WebDriver webdriver = new ChromeDriver(chromeDesiredCapabilities)
}https://stackoverflow.com/questions/67351982
复制相似问题