如何在量角器e2e测试中等待浏览器?

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

我有一个片状测试。它关于我的加载屏幕。我用

await browser.wait(EC.invisibilityOf(...)); // It contains parameters.

await browser.sleep(2000);

但有时仍然是工作,但事实并非如此。我有一个按钮。我的测试尝试按钮单击加载屏幕,因此它失败。加载屏幕消失后必须等待。(我尝试使用等待和睡眠)

我是如何解决这个问题的。我需要帮助。

javascript protractor e2e-testing angularjs-e2e
2个回答
0
投票

加载屏幕消失后必须等待

  1. 创建一个while循环。
  2. 检查加载屏幕是否消失 如果是真的那就做你的事 别的等
  3. 让循环执行,直到条件返回true

并通过

如果加载屏幕消失了

您可以检查加载屏幕元素的CSS。有可能

display: none;

要么

visibility: hidden;

取决于它是如何隐藏的。


0
投票

仅仅因为您的加载屏幕不可见并不意味着下一页已准备好与之交互。您可以尝试等待下一页上元素的可见性,或尝试将睡眠更改为等待browser.driver.sleep(2000)。

我可能会从您希望加载的页面中获取一个元素并尝试

await browser.wait(EC.presenceOf(reqElement), 5000,
   'reqElement not displayed on page after 5 seconds, loading screen may still be visible'
)
© www.soinside.com 2019 - 2024. All rights reserved.