如何使用Selenium测试Ajax应用程序并保持稳定?
发布时间:2020-12-16 02:50:13 所属栏目:百科 来源:网络整理
导读:我们的团队一直在用Selenium测试我们的应用程序,因为它是由 JavaScript驱动的,我们总是遇到测试偶尔失败的问题.随着测试次数的增加,至少有两次测试在完整运行中失败的可能性已经确定. 我们最近发现的是,我们可能有竞争条件,在初始化JavaScript有机会将事件处
我们的团队一直在用Selenium测试我们的应用程序,因为它是由
JavaScript驱动的,我们总是遇到测试偶尔失败的问题.随着测试次数的增加,至少有两次测试在完整运行中失败的可能性已经确定.
我们最近发现的是,我们可能有竞争条件,在初始化JavaScript有机会将事件处理程序附加到被单击的元素之前,selenium将单击链接.当然,在这一点上,我们正在寻找的效果不会发生,我们会得到一个失败的测试. 暂时我们在点击之前添加了一点延迟,以便初始化JavaScript代码完成时间,这显然有点乱,为整体测试执行增加了时间,并且不保证测试不会失败所以我们正在寻找更好的解决方案. 到目前为止,我们提出的最好的想法是将一个隐藏的元素注入到Selenium可以等待的DOM中,然后在触发click事件之前知道它已准备就绪.当我们处理异步事件,删除和添加元素时,这将是开发人员时间方面的大量额外开销.此外,它还为我们的页面添加了额外的东西,而这些东西对于应用程 有没有人有更好的策略?你有什么办法有效地解决这个问题? 解决方法
我确实喜欢你:添加一些延迟并等待页面上出现一些元素.我完全没问题.也许切换到Webdriver / selenium 2.0会有所帮助.如果您使用内存数据库或在测试之间共享相同的selenium / selenium服务器,或者甚至使用并行化(例如,使用TestNG,则可以轻松),可以减少测试执行.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |