2013-03-28 164 views
1

我有一个硒测试,填写表单(使用最新的ChromeDriver),然后单击提交按钮。然后,这个按钮做了一些计算,这可能需要长达5分钟(其实际产生的后端的SSRS报告,但不应该有任何区别)硒提交按钮1分钟后点击服务器没有响应

1分钟后它失败与此:

No response from server for url http://localhost:53596/session/985300748128c44714abaf1690b52414/element/:wdc:1364433458070/submit 

我相信IWebElement.Submit()和.Click()会阻塞,直到页面被改变(我不真的希望这种情况发生,而是做我自己的等待代码,但我不明白如何在没有等待的情况下点击按钮?)。如果我无法关闭此功能,我可以延长超时时间吗?我试过将ImplicitylyWait超时设置为2000秒,但这没有什么区别。

是否有人能够告诉我在哪里定义了1分钟超时,以及如何关闭它?

+0

什么版本的Chrome? – Arran 2013-03-28 10:08:55

+0

最新的稳定(26.0.1410.43)和开发(27.0.1453.9)都有这个问题 – RodH257 2013-04-02 00:12:33

回答

0

阅读有关显式和隐式等待Webdriver documentation

在你的情况下,你可能想使用WebDriverWait的显式等待。

+1

我想我很困惑,因为我不知道明确的等待如何解决我的问题。在wiki上的例子中,他们这样做: driver.get(“http:// somedomain/url_that_delays_loading”); WebElement myDynamicElement =(new WebDriverWait(driver,10)).until(.....))); 但是,在我的情况下,用一个元素替换.get,直到请求结束(或在1分钟后抛出)。它永远不会达到明确的等待。 我想使用一个明确的等待,但我该如何停止.click从阻塞和1分钟后超时,所以我可以使用它? – RodH257 2013-04-02 00:25:23

+0

看看http://stackoverflow.com/questions/5868439/wait-for-page-load-in-selenium。 – KDM 2013-04-02 04:16:12

+1

该链接并没有真正提供任何有关如何停止的信息。在显式等待开始之前,从超时点击按钮。点击被触发,然后你明确地等待。 – RodH257 2013-04-28 23:00:14