![](/img/trans.png)
[英]How to connect to a SQL Server instance with C# using Visual Studio
[英]Selenium webdriver - How to connect to the same firefox instance open by Visual Studio using C#
大家好。 我想要一些帮助。
我一直在尝试使用第一次由 Visual Studio 打开的 Firefox window 的相同实例。
问题是,如何获取相同的 window 浏览器并继续测试而不关闭浏览器并在每次我想进行测试时再次打开?
我知道关于这个主题有很多问题,但我发现一些问题适用于旧版本的 selenium 并且一些代码由于被弃用而无法工作。
我能做些什么成功:
我可以用传统方法正常工作来测试一个单元,在开始时打开 Firefox 并在测试结束后关闭:
[ClassInitialize]
public static void InitializeClass(TestContext testContext) {
driver = new FirefoxDriver();
}
然后我评论了以下几行,以在测试完成时保持 window 打开:
//driver.Quit();
//driver.Close();
//driver.Dispose();
我无法做到:
通过我进行的搜索,我了解到我们可以连接到之前已经打开的现有 session。 所以我尝试了以下方法:
[ClassInitialize]
public static void InitializeClass(TestContext testContext) {
FirefoxOptions options = new FirefoxOptions();
driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options);
//driver = new FirefoxDriver();
在上面的例子中,我注释了driver = new FirefoxDriver();
并使用FirefoxOptions
方法而不是已弃用的DesiredCapabilities.firefox()
方法,当我尝试连接到打开的 firefox window 时,我得到了一个错误,我不能在 Z34D1F91FB2E514B896BA8 上打开。 在日志中,有一行说:
Was'n possible to copy the file "..\packages\Selenium.Firefox.WebDriver.0.27.0\build\driver\geckodriver.exe" to "..\bin\debug\geckodriver.exe"
The file geckodriver.exe (61484) is being used by another process
有了这个,我尝试了另一种不同的方法来达到我的期望:
[ClassInitialize]
public static void InitializeClass(TestContext testContext) {
FirefoxOptions options = new FirefoxOptions();
driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options);
options.AddArgument("--marionette-port " + "2828" + "--connect-existing");
FirefoxDriverService ffDriverService = FirefoxDriverService.CreateDefaultService();
ffDriverService.BrowserCommunicationPort = 4444;
}
最后,我尝试打开 Firefox 的单独实例以尝试连接到如下所示:
firefox.exe --marionette -start-debugger-server 2828 -profile %temp%\FirefoxTEMP
我成功打开了一个木偶实例,但我仍然无法将测试附加到这个打开的 window。
感谢您的关注,并原谅我制作的一些新手技巧。
我读过的问题:
如何将 Selenium 连接到现有的 Firefox 浏览器? (Python)
ChromeOptions 选项 = 新 ChromeOptions();
options.setExperimentalOption("分离", true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.