Javascript WebdriverIO-如何确定是否发生页面加载或刷新

Javascript WebdriverIO-如何确定是否发生页面加载或刷新,javascript,selenium-webdriver,mocha.js,ui-automation,webdriver-io,Javascript,Selenium Webdriver,Mocha.js,Ui Automation,Webdriver Io,我正在使用WebdriverIO和Javascript以及Mocha来创建一个UI测试框架。为此,我尝试在每次加载页面或刷新页面时捕获屏幕截图。有人能告诉我这是否可以用WebDrivero或其他方式实现吗 相关详细信息:页面并非始终使用driver.url()加载。使用driver.URL()到达启动URL,然后通过单击页面上的链接或执行导致另一个页面加载的操作来进行所有导航。还请注意,页面加载也发生在其他情况下,例如,当单击“保存”按钮时,再次加载相同的页面(刷新)。我试图在每次页面加载或刷新

我正在使用WebdriverIO和Javascript以及Mocha来创建一个UI测试框架。为此,我尝试在每次加载页面或刷新页面时捕获屏幕截图。有人能告诉我这是否可以用WebDrivero或其他方式实现吗


相关详细信息:页面并非始终使用driver.url()加载。使用driver.URL()到达启动URL,然后通过单击页面上的链接或执行导致另一个页面加载的操作来进行所有导航。还请注意,页面加载也发生在其他情况下,例如,当单击“保存”按钮时,再次加载相同的页面(刷新)。我试图在每次页面加载或刷新时捕获一个屏幕截图,而不考虑可能导致它的任何操作。这就是为什么我想在全局级别抽象出流程,而不是在整个代码库的多个位置调用driver.saveScreenShot()。

为此,您可以尝试
EventFiringWebDriver
。它基本上是其他WebDriver类的通用包装器,用于发送有关特定事件的通知@skandigraun,你能举个例子吗?@naspras请用更多细节编辑你的问题。现在,我可以看到自己回答“这不可能”,或者“可以通过做(任何数量的可能性)来完成”。例如,您想在页面加载后截屏:很简单,只需添加命令在
driver.get(url)
完成后截屏即可。(关于这一点有很多问题。)如果通过Selenium执行重新加载,则重新加载也是如此。因此,请详细说明您所想到的场景:对于每个场景,请指定事件以及事件的起因(Selenium、页面上的JavaScript、其他内容?)@Louis,我已经添加了相关细节。@Naspra很好,但我可以想到另一类“刷新”。有时页面的某些部分会自动刷新(因为有JavaScript代码以设定的时间间隔运行),或者因为用户单击了某些内容。这些不是“页面刷新”,因为它们不会导致浏览器加载整个新页面。您是否也需要拍摄此类事件的屏幕截图?