Альтернативы Environment.GetEnvironmentVariable ("ChromeWebDriver") при запуске автоматических тестов для конвейеров выпуска Azure Devops - PullRequest
0 голосов
/ 06 июня 2019

Мы используем веб-драйвер селена хрома для запуска автоматических тестов, используя c #, мы запускаем их локально, а также через конвейеры выпуска azure devops для агентов.

При работе с агентами Azure мы устанавливаем различные параметры среды, которые могут подобрать агенты.

В соответствии с этим: https://github.com/MicrosoftDocs/vsts-docs/issues/2379 с использованием Environment.GetEnviromentVariable ("ChromeWebDriver") приводит к истечению времени ожидания агентов Azure, которое мы наблюдаем.Так есть ли какие-нибудь альтернативы окружающей среде? GetEnvironmentVariable, которую я могу использовать вместо нее?

Мы используем следующий код:

В файле Factory Browser, где мы устанавливаем браузер, у нас есть следующее:

var pathToChromeDriver = (testSettings != null && testSettings.UseChromeDriverFromEnvironmentSetting.HasValue
&& testSettings.UseChromeDriverFromEnvironmentSetting.Value)

? Environment.GetEnvironmentVariable("ChromeWebDriver")

: Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

browser = new ChromeDriver(pathToChromeDriver, optionsC);

Tried using:    
browser = new chromeDriver() doesnt work.

This is the chrome webdriver:

case BrowserType.Chrome:
                    var optionsC = new ChromeOptions()
                    {
                        LeaveBrowserRunning = false,
                    };
                    optionsC.AddArgument("--start-maximized");
                    if (testSettings != null && testSettings.RunChromeHeadless.HasValue && testSettings.RunChromeHeadless.Value)
                    {
                        optionsC.AddArgument("--headless");
                    }
                    optionsC.AddArgument("--test-type");
                    optionsC.AddArgument("disable-geolocation");
                    optionsC.AddArgument("--disable-popup-blocking");
                    optionsC.AddArguments("--disable-infobars");
                    optionsC.AddArgument("--incognito");
                    //optionsC.AddArguments("--headless");
                    optionsC.AddAdditionalCapability("useAutomationExtension", false);
                    optionsC.SetLoggingPreference(LogType.Driver, LogLevel.All);

                    var pathToChromeDriver = (testSettings != null && testSettings.UseChromeDriverFromEnvironmentSetting.HasValue
                                                                   && testSettings.UseChromeDriverFromEnvironmentSetting.Value)
                        ? Environment.GetEnvironmentVariable("ChromeWebDriver")
                        : Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

                    browser = new ChromeDriver(pathToChromeDriver, optionsC);
                    break;
...