我有2个镀铬网页驱动程序,用于检查管理员和用户双边并行。
我希望其中只有一个会以'无头'模式运行(而第二个是标准模式)。
当我设置2个镀铬网页驱动程序;第一个无头,第二个标准,第二个网络驱动程序的标准模式没有实现,并且都作为“无头”实现。
如果我将第一个设置为标准而第二个设置为“无头”,则它可以正常工作(首先作为标准,第二个作为无头)
看起来,如果您在无头状态下定义第一个Web驱动程序,它也会影响第二个。
我要求解决问题的方法,并且不希望提供更改驱动程序的操作顺序。
我的代码是:
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选项,它将正常工作。