使用Java检查Selenium WebDriver中元素的位置

问题描述 投票:1回答:1

我想检查我正在处理的Web应用程序上元素的位置。这是一个稳定的应用程序,因此这些职位不会发生太大变化。在网上搜索后我发现了这个方法:

Point getLocation()

页面上的哪个位置是渲染元素的左上角?

返回:一个点,包含元素左上角的位置

在玩了一点之后,我意识到位置取决于窗口大小和屏幕分辨率(虽然我在某个地方读到它但我仍然检查它以确保它是真的)。

还有另外一种方法吗?我有很多元素,所以根据一组分辨率和窗口尺寸来存储一些值会很棘手。这将是很多工作。

最后,当谈到视觉材料时,没有什么比手动测试更好:D

java position element selenium-webdriver
1个回答
0
投票

它必须依赖于窗口大小,因为页面的布局随窗口大小而变化。

您要求的基本上是:

我是否可以获得页面上元素的位置,就好像窗口是无限宽和无限高,以便结果是静态的?

不,对不起,你不能这样做,因为你可能是第一个想要做这件事的人。你要求的职位毫无意义。此外,这些数字在浏览器中很可能会有所不同。

我相信你有两个选择:

  1. 为此测试设置固定的窗口大小。如果你每次都以1024 * 768像素运行测试,它通常不会中断。在这种情况下,您的职位不应该改变,您将获得结果。 额外的想法:您可以获得页面的屏幕截图并比较图像。如果页面的内容或多或少是静态的,那么您的屏幕截图将始终相同,因此您可以将其与参考屏幕截图进行比较。
  2. 不要检查绝对数字,尝试检查例如WebElement是否包含正确的文本,图像(以及图像是否已加载)或甚至whether a WebElement is visually contained in another WebElement
© www.soinside.com 2019 - 2024. All rights reserved.