提问者:小点点

如果我有超过50页,如何检查页面加载


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

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


共2个答案

匿名用户

您可以按照以下步骤解决问题(对于所有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毫秒调用一次OutectedConease,直到它成功返回。成功的返回是对于期望条件类型是布尔返回true或不是所有其他期望条件类型的null返回值。

所以,你实际上并不是在等待10秒来检查元素是否显示。一旦元素显示在页面上,该方法将在10秒内立即返回。

注意:10秒是可配置的。

匿名用户

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

您可以尝试Selenium的两个插件:

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

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