我们使用selenium chrome webdriver通过c#运行自动化测试,既可以在本地运行这些测试,也可以通过针对代理的azure devops发布管道来运行。
针对天蓝色代理运行时,我们设置了代理可以使用的各种环境设置。
据此:https://github.com/MicrosoftDocs/vsts-docs/issues/2379 使用Environment.GetEnviromentVariable(“ ChromeWebDriver”) 导致我们正在遇到的天蓝色代理超时。 那么环境是否有其他替代方法。我可以代替它使用GetEnvironmentVariable吗?
我们使用以下代码:
在设置浏览器的Browser Factory文件中,我们具有以下内容:
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;