我有2个问题:硒的webdriver饼干/使用Web浏览器已经打开
我已经建造了硒的webdriver脚本作品的权利,但他打开火狐的新实例。是否可以使用已打开的Firefox?如果是的话,怎么样?
我需要向该网站发送信息,以使我的会话保持活动状态。我打算每10分钟使用一次cookie并发送一个请求。我不知道这是否是一个好主意......(我不能用硒认证,因为网站生成像银行网站数字表)
如果任何人都可以给我一些支持。 ..
我有2个问题:硒的webdriver饼干/使用Web浏览器已经打开
我已经建造了硒的webdriver脚本作品的权利,但他打开火狐的新实例。是否可以使用已打开的Firefox?如果是的话,怎么样?
我需要向该网站发送信息,以使我的会话保持活动状态。我打算每10分钟使用一次cookie并发送一个请求。我不知道这是否是一个好主意......(我不能用硒认证,因为网站生成像银行网站数字表)
如果任何人都可以给我一些支持。 ..
如果您使用的是Seleium2/WebDriver,那么您可以通过调用new FirefoxDriver()
来创建一个启动浏览器实例,然后它可以在多个测试中重复使用。例如,如果您正在使用JUNIT,则可以在@BeforeClass
中创建FirefoxDriver
驱动程序,然后在@AfterClass
中退出该驱动程序。
browserSessionReuse
下面SO后会解释为什么会话可能会过期。它也可能取决于你如何编写测试用例(可能是你正在使用setUp()
方法初始化它)。 Selenium in -browserSessionReuse mode launchs a new browser
注:它始终是更好地创建和关闭每个测试的浏览器实例的测试隔离。
如果您在测试用例中使用了firefox webdriver打开了FireFox Browser的实例,并且未关闭该实例,则可以将该实例用于RemoteWebDriver。如果一个测试用例失败并且您想手动启动另一个测试用例,您甚至可以使用该实例。 使用此代码。
IWebDriver WebDriver = null;
try
{
System.Uri uri = new System.Uri("http://localhost:7055/hub");
WebDriver = new RemoteWebDriver(uri, DesiredCapabilities.Firefox());
Console.WriteLine("Executed on remote driver");
}
catch (Exception)
{
WebDriver = new FirefoxDriver(firefoxProfile);
Console.WriteLine("Executed on New FireFox driver");
}
在此博客文章中查看详细信息。 http://binaryclips.wordpress.com/2014/09/16/selenium-web-driver-in-c-how-to-continue-script-on-the-already-opened-browser-instance/
太好了。感谢您的回复Pangea。 – Matt 2012-01-03 20:03:49
从硒服务器帮助文档 -browserSessionReuse:停止测试之间浏览器的重新初始化和产卵。我试图手动运行2个测试,但它没有在同一个会话中运行。这是为了不同的目的吗? – 2012-01-04 04:18:20
我接受的答案,但我已经发布了2个问题... – Matt 2012-01-04 11:23:25