在由 Selenium 脚本测试的 BS 托管移动设备上访问的 eCom 网站(Bootstrap UI 和 JS 库)每次都会在随机元素上失败

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

客户端运行一个使用 BootStrap UI 框架开发并由 SAP 支持的电子商务网站。该桌面网站不仅可在桌面上使用,还可在移动设备上使用。为了测试移动版本,客户端使用的是BrowserStack云平台。

开发的 Selenium-Java 脚本每次都会在不同的元素上随机失败(

Element not clickable, Element not found, Element not accessible etc
)。

我在每个元素处加入了流畅的等待(最多 50 秒),但结果仍然相同。

我知道使用BootStrap UI框架(v3.4.0)的SAP商务云网站在运行时本质上是异步的,而Selenium-Java脚本是同步的。从技术上讲,流畅的等待应该可以解决这种不匹配的问题,但事实并非如此。

我们使用 Selenium v4.16 和 JDK 21。

有人遇到过这种情况吗?您是如何解决的?基本上我们不知道发生了什么以及为什么!

javascript node.js selenium-webdriver asynchronous
1个回答
0
投票

@grandEL-dsouza

感谢您的回复。 在发帖后,我观察到在大多数情况下,运行时无法仅执行输入框旁边的一个按钮单击。我可以检索按钮上的文本,但无法单击它。

所以,在用多种方式编写 Selenium 定位器之后,我终于使用了 JavaScript 执行器接口,它确实有效!因此,一旦跨过该障碍,剩下的就是以带有条件 ExpectedConditions 子句的流畅等待的形式保留更多的等待时间。所有元素都可以轻松访问或没有问题。

学到的教训:当您测试由基于javaScript的库组成的网站时,请尝试使用ExpectedConditions进行条件流畅等待,最后不要忘记为您的点击操作使用JavaScript执行器接口。

© www.soinside.com 2019 - 2024. All rights reserved.