Java 如何编写SeleniumWebDriver测试脚本来处理浏览器挂起和计时问题?

Java 如何编写SeleniumWebDriver测试脚本来处理浏览器挂起和计时问题?,java,firefox,selenium-webdriver,Java,Firefox,Selenium Webdriver,我编写selenium java测试脚本已经有一段时间了,最近在为一些基于IE、Firefox和Chrome的相对复杂的网页编写脚本时发现了一些问题 1) 当脚本在Firefox中运行时,浏览器通常会变成“无响应”,并且“此页面上的脚本可能正忙,或者已停止响应。您可以立即停止脚本,也可以继续查看脚本是否会完成。”对话框显示。当用户手动执行相同的操作时,几乎不会发生这种情况 2) 我发现非常奇怪的一点是,尽管在我的脚本中显式等待都是~20sec,但当我在Eclipse中运行测试时,它挂起很长一段时

我编写selenium java测试脚本已经有一段时间了,最近在为一些基于IE、Firefox和Chrome的相对复杂的网页编写脚本时发现了一些问题

1) 当脚本在Firefox中运行时,浏览器通常会变成“无响应”,并且“此页面上的脚本可能正忙,或者已停止响应。您可以立即停止脚本,也可以继续查看脚本是否会完成。”对话框显示。当用户手动执行相同的操作时,几乎不会发生这种情况

2) 我发现非常奇怪的一点是,尽管在我的脚本中显式等待都是~20sec,但当我在Eclipse中运行测试时,它挂起很长一段时间,最后测试失败,,当最终测试退出时,它声明它只显式等待某个元素20秒。为什么

3) 从stackoverflow()中的前一篇文章来看,隐式是不好的,所以现在我尝试在脚本中只使用显式等待。在不使用隐式等待的情况下编写脚本,并且仅在必要时添加显式等待元素,这是正确的方法吗?还是为每个webelement添加显式等待

4) 最后一个问题与我很久以前读到的一篇文章有关,它指出,对于每个运行实例的webdriver,至少需要分配2G内存。现在,当我运行脚本时,大多数计时问题都发生在我的计算机发出最大的嗡嗡声时对计算能力有基本要求。运行selenium测试的机器上的内存和更多功能?我如何知道运行selenium的资源是否不足


如果你以前遇到过这些问题,有人能对其中一些问题发表评论吗?谢谢,

Explicit是处理加载缓慢的元素的好方法。您不需要对每个元素都使用显式,只在必要时使用它。@Help Hands这是我通常的想法,但在实践中,某些元素有时加载快,有时加载慢,我甚至不知道是我的机器、浏览器还是我的internet连接。在firefox上完美运行的脚本可能会因为一些UI元素而在IE上卡住,原因并不明显。我理解,我认为您应该分析元素的最大加载时间,并使用显式等待设置相同的时间。在这个问题中有很多问题。你应该一次只关注一个问题。@JeffC昨天,除非是一行代码的问题,否则没有简单的答案。stackoverflow中的许多答案包含的信息超出了字面上的要求。我的问题只是关于浏览器挂起和时间问题,在某种程度上我认为它们是相关的。