У меня есть 2 хромированных веб-драйвера для параллельной проверки администратора и пользователя.
Я хочу, чтобы только один из них работал в «безголовом» режиме (а второй в стандартном режиме).
Когда я установил 2 веб-драйвера Chrome; первый безголовый, второй стандартный, Стандартный режим для второго веб-драйвера не работал, И оба выполнены как «безголовые».
Просто если я установлю первый как стандартный, а второй как «безголовый», он будет работать правильно (первый как стандартный, а второй как безголовый)
Похоже, как только вы определяете первый веб-драйвер в безголовом состоянии, это также влияет на второй.
Прошу решения проблемы, и не хочу предложения изменить порядок работы драйверов.
Мой код:
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 для инициализации обоих браузеров. Настройте отдельные параметры хрома для каждого метода, и он будет работать правильно.
Вау, какое простое решение! Спасибо!