selenium - 有什么方法可以测试 Selenium 中 Web 元素的显示顺序?
问题描述
问题陈述:我有 4 个轮播的网页(比如 A、B、C、D)。我需要验证它们在 UI 上的正确显示顺序(而不是在 HTML 代码中)。需要测试的几点:
- A 应该始终位于顶部,并且每次都会显示。
- B、CD 应遵循顺序:A > B > C > D(使 A 始终出现在顶部,D 始终出现在最后或底部)
- 即使没有显示任何轮播,顺序也应如上。(如果 C 未显示,则顺序应为 A > B > D)。
- B、C、D中的任何一个/两个/全部可能不会显示在页面上。
测试应该能够识别桌面和移动浏览器上的序列。
我尝试过的解决方案:在 Selenium 中使用getLocation().getY()
查找所有元素并获取它们的 Y 坐标。比较 Y 坐标并确定哪个在顶部。
当前问题: 上述解决方案仅适用于桌面浏览器,不适用于 iOS 或 Android 的 chrome 等移动浏览器,因为 getLocation() 始终为所有 Web 元素返回 (0,0)。
类似的问题:它与我的问题没有太大关系: 我可以使用 Selenium Webdriver 测试元素的顺序吗?
其他详细信息: - 我正在使用Java 1.8和Selenium 2.53 - 所有测试都在浏览器堆栈上执行
如何使用 Selenium Web 驱动程序和 JAVA 实现这一目标?
解决方案
推荐阅读
- javascript - 将选定的数组索引移动到指定位置
- encoding - 这些 GIF 的编码是什么?
- qt - 为每个副本信号调用 QtRemoteObjects 副本
- python - 为什么子进程模块给我 WinError193?
- sql-server - 如何将 varchar 转换为时间 hh:mm
- spring - 如果保存了引用的对象,应该更新引用的对象吗?
- javascript - 异步 vs then 在 Promise 中解决
- javascript - Laravel 和 Html DataTable 的导出按钮不显示或不显示
- javascript - 我需要创建一个函数来确定我未来一年的年龄
- php - MySQL 服务器经常丢失,但应用程序运行良好