运行 Firefox 中的 Selenium 测试创建两个选项卡并在 "non-active" 选项卡中运行
Running a Selenium test in Firefox creates two tabs and runs the in the "non-active" tab
当我创建 Firefox Web 驱动程序实例时,它成功打开了 Firefox。但是,它用两个选项卡打开它(一个 "regular" Firefox 选项卡和一个 IE 选项卡;IE 选项卡处于活动状态并在测试期间保持活动状态,除非我手动切换到测试实际执行的选项卡).
它将 运行 在 Firefox 选项卡(即非活动选项卡)中进行测试。
我正在像这样实例化我的 Firefox Web 驱动程序:
var firefoxOptions = new FirefoxOptions()
{
Profile = new FirefoxProfile(),
UseLegacyImplementation = false,
BrowserExecutableLocation = @"C:\Program Files (x86)\Mozilla Firefox\Firefox.exe"
};
firefoxDriver = new FirefoxDriver(firefoxOptions);
firefoxDriver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 10);
我也会包含单元测试的代码,但是问题出现在我 运行 进行任何测试之前的初始化过程中。
此外,当我像这样进行清理时:
[TestCleanup]
public void Cleanup()
{
if (firefoxDriver != null)
{
firefoxDriver.Close();
firefoxDriver.Dispose();
}
}
它关闭测试 运行 所在的选项卡(Firefox 选项卡)。但是,它仅 关闭该选项卡 - IE 选项卡和浏览器都保持打开状态。
This question 似乎有些相关,但行为有些不同,因为 Selenium 并未尝试在两个选项卡中实际执行测试 - 它只使用一个选项卡。另外,那里的 OP 使用的是 Firefox 20.0,而我使用的是 Firefox 52.2.0。
很简单,我们可以创建配置文件并使用它。我在这里回答
另一种方式,我们可以像
一样以编程方式创建配置文件
FirefoxProfile profile= new FirefoxProfile();
profile.setPreference(“browser.startup.homepage”,”https://...");
WebDriver driver = new FirefoxDriver(profile);
只需在 firefox URL 中使用 about:config,它会提供设置。
当我创建 Firefox Web 驱动程序实例时,它成功打开了 Firefox。但是,它用两个选项卡打开它(一个 "regular" Firefox 选项卡和一个 IE 选项卡;IE 选项卡处于活动状态并在测试期间保持活动状态,除非我手动切换到测试实际执行的选项卡).
它将 运行 在 Firefox 选项卡(即非活动选项卡)中进行测试。
我正在像这样实例化我的 Firefox Web 驱动程序:
var firefoxOptions = new FirefoxOptions()
{
Profile = new FirefoxProfile(),
UseLegacyImplementation = false,
BrowserExecutableLocation = @"C:\Program Files (x86)\Mozilla Firefox\Firefox.exe"
};
firefoxDriver = new FirefoxDriver(firefoxOptions);
firefoxDriver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 10);
我也会包含单元测试的代码,但是问题出现在我 运行 进行任何测试之前的初始化过程中。
此外,当我像这样进行清理时:
[TestCleanup]
public void Cleanup()
{
if (firefoxDriver != null)
{
firefoxDriver.Close();
firefoxDriver.Dispose();
}
}
它关闭测试 运行 所在的选项卡(Firefox 选项卡)。但是,它仅 关闭该选项卡 - IE 选项卡和浏览器都保持打开状态。
This question 似乎有些相关,但行为有些不同,因为 Selenium 并未尝试在两个选项卡中实际执行测试 - 它只使用一个选项卡。另外,那里的 OP 使用的是 Firefox 20.0,而我使用的是 Firefox 52.2.0。
很简单,我们可以创建配置文件并使用它。我在这里回答
另一种方式,我们可以像
一样以编程方式创建配置文件FirefoxProfile profile= new FirefoxProfile();
profile.setPreference(“browser.startup.homepage”,”https://...");
WebDriver driver = new FirefoxDriver(profile);
只需在 firefox URL 中使用 about:config,它会提供设置。