【问题标题】:Selenium - wait until synchronisation is doneSelenium - 等到同步完成
【发布时间】:2017-07-05 14:43:47
【问题描述】:

我有一个应用程序,登录后会将数据同步到本地存储。请参阅以下内容:

控制台:

但是当我运行 selenium 测试时,它会导致错误,因为尚未加载以下屏幕。 一个 API 调用可能需要比另一个更长的时间(可以始终不同)。如何确保 selenium 测试等到所有同步完成?

【问题讨论】:

  • 默认情况下,Selenium 在引发异常之前等待元素出现。您可以增加超时时间。
  • 您应该问自己用户如何知道同步已完成,然后相应地编写测试。例如,您可以等待可见微调器的计数为 0。

标签: selenium testing selenium-ide acceptance-testing


【解决方案1】:

如果此元素存在但在所有内容加载后不可见,我认为以下应该有效。否则你需要改变条件。

我不确定您使用的是哪种语言,但是您可以将代码转换为您选择的语言。

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 30)
wait.until(EC.invisibility_of_element_located(driver.find_element_by_xpath("//*[conatains(text(),'Bezig')]")))

【讨论】:

  • 我在 Firefox 中使用 Selenium IDE 插件。有没有办法做到这一点?
  • @nielsv 我不这么认为,但我对最新版本的 IDE 没有任何经验。
猜你喜欢
  • 2019-05-31
  • 2012-04-15
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2014-01-03
  • 2020-09-30
相关资源
最近更新 更多