我使用Java在Selenium上创建了一些测试用例。不幸的是,当我点击页面上的一个元素之前,我可以转到任何其他操作,我必须等到页面加载。当预期的元素存在时,Selenium立即停止页面加载
我试过driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
。不幸的是,这会产生另一个问题即使页面加载,它也会等待30秒才会开始在页面上进行测试。
我发现最好的方法是发送ESCAPE
键来停止页面加载。
是否有无论如何我可以检查一个元素是否存在,当它发生时,发送ESCAPE
键到浏览器停止页面加载?
这部分是我的头脑,因为我必须等到页面加载之前Java读取代码的下一行,所以我不能发送ESCAPE
键到浏览器,直到页面实际上停止加载。
编辑
我一直在使用一个新的线程来完成这项工作只是尝试,但它似乎driver
被完全锁定了,不能做任何处理页面停止加载之前。
我现在没有想法,但我相信应该有办法。
使用timeouts()
导致整个测试案例停止。
我通常对新功能/网站进行这些测试。其中一些是全新的。有时候,我测试了100次以上的同一页面(使用不同的条件)。不会通过JavaScript发送点击事件会增加跳出率?如果是这样的话,我不认为每个人都会喜欢这个。 – Revenant
您正在生产中运行测试?那么是的,你必须与任何监测噪音的人分析。也可能希望了解有关使测试服务器运行测试以避免一般性破坏分析的问题 –
这经常是我的担忧。当我在测试/分级环境中进行测试时,我不介意这些问题。当它在生产环境中时,我只想尽快完成它。 – Revenant