【问题标题】:how to check page load if i have more than 50 pages如果我有超过 50 个页面,如何检查页面加载
【发布时间】:2017-04-24 21:57:56
【问题描述】:

我是 selenium webdriver(java 编码)的新手。我得到了一个网站并要求编写脚本来检查所有页面是否正确加载。我不知道如何检查页面加载。我的一个朋友建议,当页面加载时,我应该寻找最后一个加载的元素,并在该元素上使用等待方法来检查直到它可见。

我的问题是我有 50 多页要检查。对于每个页面,我应该使用等待方法并检查可见性,因为它需要很多时间。有没有其他办法?

【问题讨论】:

  • 如果您需要检查整个 50 个页面,那么这是唯一的方法。通常您需要检查页面上显示的内容是否正确..

标签: java selenium webdriver automated-tests


【解决方案1】:

您可以按照以下步骤解决此问题(所有 50 页,一次一页):

  1. 标识最终在浏览器渲染中显示的元素。
  2. 添加visibility_of_element_located,查看该元素是否显示在网页上。

等待元素的可见性:

element = WebDriverWait(driver, 10).until(
        EC.visibility_of_element_located((By.ID, "myDynamicElement")) # here, you can use any available locator of your choice, like, By.XPATH, BY.CLASS_NAME etc.

这会在抛出 TimeoutException 之前等待最多 10 秒,或者如果它发现元素已显示,将在 0 - 10 秒内返回它。默认情况下,WebDriverWait 每 500 毫秒调用一次 ExpectedCondition,直到它成功返回。对于 ExpectedCondition 类型的成功返回是 Boolean 对所有其他 ExpectedCondition 类型返回 true 或非 null 返回值。

因此,您实际上并没有等待10 seconds 检查元素是否显示。一旦元素显示在页面上,该方法将立即在10 seconds 内返回。

注意:10 seconds 是可配置的。

【讨论】:

    【解决方案2】:

    您需要查看视觉测试方向,而纯硒不是为此而设计的。

    你可以试试 Selenium 的两个插件:

    1) Applitools (https://applitools.com/),基于云,您可以免费试用, 例子在这里https://eyes.applitools.com/app/Web/Deploy/Tutorial/tutorial.html

    2) 或者您可以使用免费、非云的 Sikuli(http://www.sikuli.org/)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      相关资源
      最近更新 更多