WebDriver测试用例的问题

时间:2014-01-30 08:45:52

标签: selenium selenium-webdriver

我使用WebDriver编写了一个测试用例,我用一种方法关闭了浏览器,然后又打开了无法调用的浏览器

driver.close();我通过上面的命令关闭浏览器,再次打开浏览器driver.get(url) 但我得到错误 '与远程浏览器通信时出错可能已经死了'

4 个答案:

答案 0 :(得分:0)

你用你的driver.close();杀了浏览器 要使用驱动程序,您必须使用driver = new FirefoxDriver(capabilities);

之类的内容创建一个新驱动程序

答案 1 :(得分:0)

如果您确实想在导航到新网址之前关闭浏览器,请执行以下操作:

driver.quit();
driver = new FirefoxDriver();
driver.get(url);

但是,为什么要在首先导航到新网址之前关闭浏览器?

我可以想到以下两个原因之一:

  1. 您希望在清除浏览器历史记录的情况下转到下一个网址。

    如果情况确实如此,那么deleteAllCookies将完成这项工作。

  2. 您无法转到下一个网址,因为某些弹出式提醒会阻止您这样做。

    如果情况确实如此,那么close而非quit都无法完成这项工作。

答案 2 :(得分:0)

转而回复评论。

我想我得到了你的问题。虽然你已经调用了close()并且它只应该关闭当前窗口,但如果你想在多个窗口之间切换,你应该使用它。

对于你的情况,只是不要关闭驱动程序,它将使用相同的窗口打开网址。

答案 3 :(得分:0)

You have to use following way if you want to close the current browser and open 
a new one:    

webDriver.Close();
//Goto the Target website
WebDriver.Navigate().GoToUrl("url");

And you can use following way if you want to close the browser and kill the
web driver:

webDriver.Close();
webDriver.Quit();