selenium webdriver 测试通过启动浏览器的任何原因
Any reason why selenium webdriver test pass with launching browser
我从 Github 那里得到了这个项目,出于某种原因,我无法弄清楚项目的作者是如何在不启动浏览器的情况下运行和通过测试的 window。任何解决这个问题的帮助将不胜感激
https://github.com/executeautomation/SpecflowSeleniumParallel
在由 BeforeScenario
属性标记的初始化方法中,使用 BrowserType.Chrome
调用方法 SelectBrowser
。
[BeforeScenario]
public void Initialize()
{
SelectBrowser(BrowserType.Chrome);
}
这个方法就是'magic'发生的地方,让我们来看看它
internal void SelectBrowser(BrowserType browserType)
{
switch (browserType)
{
case BrowserType.Chrome:
ChromeOptions option = new ChromeOptions();
option.AddArgument("--headless");
_driver = new ChromeDriver(option);
_objectContainer.RegisterInstanceAs<IWebDriver>(_driver);
break;
default:
break;
}
}
请注意 option.AddArgument("--headless");
行。这将以无头模式启动 ChromeDriver 运行,作为无头浏览器。
A headless browser is a web browser without a graphical user interface. - Wikipedia
由于 headless 模式没有图形用户界面,您在 运行 测试时看不到实际的浏览器。
如果您删除行 option.AddArgument("--headless");
,ChromeDriver 将打开一个 window,您将能够看到所有内容。
我从 Github 那里得到了这个项目,出于某种原因,我无法弄清楚项目的作者是如何在不启动浏览器的情况下运行和通过测试的 window。任何解决这个问题的帮助将不胜感激
https://github.com/executeautomation/SpecflowSeleniumParallel
在由 BeforeScenario
属性标记的初始化方法中,使用 BrowserType.Chrome
调用方法 SelectBrowser
。
[BeforeScenario]
public void Initialize()
{
SelectBrowser(BrowserType.Chrome);
}
这个方法就是'magic'发生的地方,让我们来看看它
internal void SelectBrowser(BrowserType browserType)
{
switch (browserType)
{
case BrowserType.Chrome:
ChromeOptions option = new ChromeOptions();
option.AddArgument("--headless");
_driver = new ChromeDriver(option);
_objectContainer.RegisterInstanceAs<IWebDriver>(_driver);
break;
default:
break;
}
}
请注意 option.AddArgument("--headless");
行。这将以无头模式启动 ChromeDriver 运行,作为无头浏览器。
A headless browser is a web browser without a graphical user interface. - Wikipedia
由于 headless 模式没有图形用户界面,您在 运行 测试时看不到实际的浏览器。
如果您删除行 option.AddArgument("--headless");
,ChromeDriver 将打开一个 window,您将能够看到所有内容。