如何 运行 并行 2 chrome 网络驱动器,其中一个是 'headless' 而另一个是标准的?
How to run parallel 2 chrome web-drives that one is 'headless' and the other is standard?
我有 2 个 chrome 网络驱动程序用于并行检查管理员和用户端。
我希望其中一个 运行 处于 'headless' 模式(第二个处于标准模式)。
当我设置 2 个 chrome 网络驱动程序时;第一无头,第二标准,
第二个网络驱动程序的标准模式没有受到影响,并且两者都受到影响'headless'。
只要我将 first 设置为标准,将 second 设置为 'headless',它就可以正常工作(首先作为标准,第二个是无头)
看起来好像一旦你在无头状态下定义了第一个网络驱动程序,它也会影响第二个。
求解决问题,不想要更改驱动程序操作顺序的offer
我的代码是:
private static ChromeOptions chromeOptions = new ChromeOptions();
public static void InitBrowser(string browserName , string url)
{
if(driverAdmin == null)
switch(browserName)
{
case nameof(Browsers.ChromeAdmin):
chromeOptions.AddArgument("headless");
chromeOptions.AddArgument("incognito");
driverAdmin = new ChromeDriver(ChromeDriverService.CreateDefaultService() , chromeOptions , commandTimeout);
Drivers.Add(Browsers.ChromeAdmin.ToString() , driverAdmin);
break;
...
}
public static void InitBrowserUser(string browserName , string url)
{
browser = browserName;
if(driverUser == null)
switch(browserName)
{
case nameof(Browsers.ChromeUser):
//chromeOptions.AddArgument("headless");
chromeOptions.AddArgument("incognito");
driverUser = new ChromeDriver(ChromeDriverService.CreateDefaultService() , chromeOptions , commandTimeout);
Drivers.Add(Browsers.ChromeUser.ToString() , driverUser);
break;
...
}
[SetUp]
public static void SetUp()
{
SetupReport();
InitBrowser(BrowserAdmin , EnvironmentAdmin);
InitBrowserUser(BrowserUser , EnvironmentUser);
PrintTestDetails();
}
您似乎对两个浏览器初始化使用了相同的 chrome 选项。
为每个方法设置单独的 chrome 选项,它将正常工作。
我有 2 个 chrome 网络驱动程序用于并行检查管理员和用户端。
我希望其中一个 运行 处于 'headless' 模式(第二个处于标准模式)。
当我设置 2 个 chrome 网络驱动程序时;第一无头,第二标准, 第二个网络驱动程序的标准模式没有受到影响,并且两者都受到影响'headless'。
只要我将 first 设置为标准,将 second 设置为 'headless',它就可以正常工作(首先作为标准,第二个是无头)
看起来好像一旦你在无头状态下定义了第一个网络驱动程序,它也会影响第二个。
求解决问题,不想要更改驱动程序操作顺序的offer
我的代码是:
private static ChromeOptions chromeOptions = new ChromeOptions();
public static void InitBrowser(string browserName , string url)
{
if(driverAdmin == null)
switch(browserName)
{
case nameof(Browsers.ChromeAdmin):
chromeOptions.AddArgument("headless");
chromeOptions.AddArgument("incognito");
driverAdmin = new ChromeDriver(ChromeDriverService.CreateDefaultService() , chromeOptions , commandTimeout);
Drivers.Add(Browsers.ChromeAdmin.ToString() , driverAdmin);
break;
...
}
public static void InitBrowserUser(string browserName , string url)
{
browser = browserName;
if(driverUser == null)
switch(browserName)
{
case nameof(Browsers.ChromeUser):
//chromeOptions.AddArgument("headless");
chromeOptions.AddArgument("incognito");
driverUser = new ChromeDriver(ChromeDriverService.CreateDefaultService() , chromeOptions , commandTimeout);
Drivers.Add(Browsers.ChromeUser.ToString() , driverUser);
break;
...
}
[SetUp]
public static void SetUp()
{
SetupReport();
InitBrowser(BrowserAdmin , EnvironmentAdmin);
InitBrowserUser(BrowserUser , EnvironmentUser);
PrintTestDetails();
}
您似乎对两个浏览器初始化使用了相同的 chrome 选项。 为每个方法设置单独的 chrome 选项,它将正常工作。