【发布时间】:2019-12-01 01:54:06
【问题描述】:
我正在使用 Webdriver.io 和 mocha 工具测试 GUI。测试本身是用 CoffeeScript 编写的。部分界面元素加载时间长,出现旋转加载指示。为了继续测试过程,需要等待数据完全加载(即等到加载指示器消失)。这个过程是使用函数 (1) 执行的:
wait_for_page_load = () ->
$('... load indicator selector ...').waitForDisplayed(20000)
$('... load indicator selector ...').waitForDisplayed(20000, true)
在第一行中,我期待下载指示器变得可见的那一刻。在第二学期,我预计加载指示器会消失。
但是,在此过程中,我遇到了下载指示器出现和消失过快的情况。同时,我根本没有时间去“捕捉”加载指示器,因为在那一刻,当我期望它出现时,它已经消失了。同时在控制台显示错误信息:
element ("... load indicator selector ...") still not displayed after 20000ms
我找到了摆脱这种情况的方法。当发生类似问题时,我只修复了加载指示器的消失。这个过程是使用函数 (2) 执行的:
wait_for_page_load = () ->
$('... load indicator selector ...').waitForDisplayed(20000, true)
需要注意的是,随着加载指示器的快速消失,完全不等待也是不可能的——在这种情况下,新数据将没有时间加载。 p>
但是,在某些情况下,我无法提前确定加载指示器会显示多长时间:有时它几乎立即消失,并且我无法跟踪它出现的那一刻,在这些情况下,我必须使用函数 (2);有时它会旋转很长时间,使用(1)功能可以跟踪它出现的时刻。
是否可以编写一个通用函数来修复图形元素的出现和消失,即使元素出现和消失的速度非常快?
【问题讨论】:
标签: coffeescript mocha.js wdio-v5