Javascript UI自动化如何知道ReactJS页面已准备好进行用户交互?

Javascript UI自动化如何知道ReactJS页面已准备好进行用户交互?,javascript,ajax,reactjs,automated-tests,webdriverjs,Javascript,Ajax,Reactjs,Automated Tests,Webdriverjs,同步是UI自动化和几乎所有进行大量客户端渲染或AJAX工作的现代web设计的常见问题。使用JQuery,我可以查看.active属性(活动请求的数量),如果它变为0并在那里停留一段时间,通常可以肯定页面已经完成更新 React是否有类似的功能,可以用来判断没有打开的AJAX调用,或者代码已经完成了页面元素的更新(或者将虚拟DOM“修补”到页面DOM)?或者以其他方式告知页面处于自动化模拟用户操作可以与之交互的状态,而无需担心页面更新和出现错误(如“未找到元素”)。这可能不是正确的方式,但在设计页

同步是UI自动化和几乎所有进行大量客户端渲染或AJAX工作的现代web设计的常见问题。使用JQuery,我可以查看
.active
属性(活动请求的数量),如果它变为0并在那里停留一段时间,通常可以肯定页面已经完成更新


React是否有类似的功能,可以用来判断没有打开的AJAX调用,或者代码已经完成了页面元素的更新(或者将虚拟DOM“修补”到页面DOM)?或者以其他方式告知页面处于自动化模拟用户操作可以与之交互的状态,而无需担心页面更新和出现错误(如“未找到元素”)。

这可能不是正确的方式,但在设计页面时,它适用于几乎所有类型的页面,您应该知道页面在什么时候准备好了。此时,您可以设置一个全局js标志,甚至设置一个隐藏输入,以指示页面已准备就绪。然后让您的UI自动化工具检查该标志。否则,您将需要在ui自动化测试中编写大量检查。从程序员那里获得这样的帮助将是理想的。但是在更大的组织中,更大的项目中有不止一个团队,让程序员采纳并坚持这样的东西可能是一项艰巨的任务。因此,我认为我必须在测试端想出一些不依赖于代码中“就绪”标志的东西。我已经为angular应用程序编写了selenium测试。我常用的策略有:1。定时睡眠(由于db查询可能随时间变化,因此在此方面没有承诺)。2.使用短期休眠循环,以迭代方式检查某个元素是否包含我期望的数据/属性/样式,此检查适用于大多数受ajax影响的元素。如果你想检查某些动画是否正在播放,我建议先检查src,然后在一段时间内拍摄多个屏幕截图,并执行字节比较。是的,我做过所有这些事情。但我希望我能找到一种更通用的方法,该方法是本机的反应方法(类似于
jQuery.active