首页 > 解决方案 > 有什么方法可以测试 Selenium 中 Web 元素的显示顺序?

问题描述

问题陈述:我有 4 个轮播的网页(比如 A、B、C、D)。我需要验证它们在 UI 上的正确显示顺序(而不是在 HTML 代码中)。需要测试的几点:

  1. A 应该始终位于顶部,并且每次都会显示。
  2. B、CD 应遵循顺序:A > B > C > D(使 A 始终出现在顶部,D 始终出现在最后或底部)
  3. 即使没有显示任何轮播,顺序也应如上。(如果 C 未显示,则顺序应为 A > B > D)。
  4. B、C、D中的任何一个/两个/全部可能不会显示在页面上。

测试应该能够识别桌面和移动浏览器上的序列。

我尝试过的解决方案:在 Selenium 中使用getLocation().getY()
查找所有元素并获取它们的 Y 坐标。比较 Y 坐标并确定哪个在顶部。

当前问题: 上述解决方案仅适用于桌面浏览器,不适用于 iOS 或 Android 的 chrome 等移动浏览器,因为 getLocation() 始终为所有 Web 元素返回 (0,0)。

类似的问题:它与我的问题没有太大关系: 我可以使用 Selenium Webdriver 测试元素的顺序吗?

其他详细信息: - 我正在使用Java 1.8Selenium 2.53 - 所有测试都在浏览器堆栈上执行

如何使用 Selenium Web 驱动程序和 JAVA 实现这一目标?

标签: seleniumwebdrivercoordinatessequence

解决方案


推荐阅读