微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:在azure devops代理上运行Edge浏览器的硒测试时,无法在localhost:49756上启动驱动程序服务

我有一些用C#编写的自动化硒测试,我正尝试在Microsoft Edge浏览器的CI(Azure DevOps)中启动它们。我已经安装了NuGet Package Selenium.WebDriver.MicrosoftWebDriver - Version 10.0.17134文件夹中的Edge WebDriver bin\Debug\netcoreapp3.1。座席规范为vs2017-win2016。但是,对于ChromeFireFox浏览器来说一切正常,测试运行顺利。

这里是DriverBuilder

public static class DriverBuilder
    {
        private static readonly string PathToDriverBinary =
            DirectoryHelper.TryGetSolutionDirectoryInfo() + @"\MyProject\bin\Debug\netcoreapp3.1";
        
        public static IWebDriver GetDriver()
        {
           
            var browser = ConfigManager.browser;
            var options = DriverOptionsManager.GetDriverOptions();
            var wait = TimeSpan.FromSeconds(ConfigManager.Wait);

            switch (browser)
            {
                case browserType.Chrome:
                    var chromeDriver = new ChromeDriver(PathToDriverBinary,options as ChromeOptions);
                    chromeDriver.Manage().Timeouts().ImplicitWait = wait;
                    return chromeDriver;

                case browserType.Firefox:
                    var ffdriver = new FirefoxDriver(PathToDriverBinary,options as FirefoxOptions,TimeSpan.FromSeconds(150));
                    ffdriver.Manage().Timeouts().ImplicitWait = wait;
                    ffdriver.Manage().Window.Maximize();
                    return ffdriver;
                
                case browserType.MicrosoftEdge:
                    var microsoftEdgeDriver = new EdgeDriver(PathToDriverBinary,options as EdgeOptions,TimeSpan.FromSeconds(150));
                    microsoftEdgeDriver.Manage().Timeouts().ImplicitWait = wait;
                    microsoftEdgeDriver.Manage().Window.Maximize();
                    return microsoftEdgeDriver;

                default:
                    throw new Exception($"Driver type not found in configuration. Actual browser type: {browser}");
            }
        }
    }

这是DriverOptionsManager类:

public static class DriverOptionsManager
    {
        public static DriverOptions GetDriverOptions()
        {
            var options = ConfigManager.browser switch
            {
                browserType.Chrome => (DriverOptions) ChromeOptions(),browserType.Firefox => FirefoxOptions(),browserType.MicrosoftEdge => EdgeOptions(),_ => throw new Exception("browsers type chosen incorrect or not chosen")
            };

            return options;
        }

        private static ChromeOptions ChromeOptions()
        {
            var chromeOptions = new ChromeOptions();
            chromeOptions.AddUserProfilePreference("intl.accept_languages","en-Gb");
            chromeOptions.browserVersion = "85.0";
            chromeOptions.AddArgument("--ignore-certificate-errors");
            chromeOptions.AddArgument("--start-maximized");
            chromeOptions.AddArgument("--enable-features=NetworkService,NetworkServiceInProcess");
            chromeOptions.AddAdditionalCapability("enableVNC",true,true);
            chromeOptions.AddAdditionalCapability("enableVideo",true);
            chromeOptions.AddAdditionalCapability("videoName",$"{TestContext.CurrentContext.Test.Name}.mp4",true);
            chromeOptions.AddAdditionalCapability("videoCodec","mpeg4",true);
            return chromeOptions;
        }

        private static FirefoxOptions FirefoxOptions()
        {
            var firefoxOptions = new FirefoxOptions();
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            firefoxOptions.AddAdditionalCapability("enableVNC",true);
            firefoxOptions.AddAdditionalCapability("enableVideo",true);
            firefoxOptions.AddAdditionalCapability("videoName",true);

            firefoxOptions.Profile = new FirefoxProfile();
            firefoxOptions.Profile.SetPreference("intl.accept_languages","en-GB");
            return firefoxOptions;
        }
        private static EdgeOptions EdgeOptions()
        {
            var edgeOptions = new EdgeOptions();
            edgeOptions.AddAdditionalCapability("intl.accept_languages","en-Gb");
            edgeOptions.PageLoadStrategy = PageLoadStrategy.None;
            return edgeOptions;
        }
    }

但是在azure代理上为Edge浏览器运行硒测试时,我仍然收到以下错误

2020-09-15T12:17:38.3233809Z No connection Could be made because the target machine actively refused it. No connection Could be made because the target machine actively refused it.
2020-09-15T12:17:38.3234893Z -> #14: error: Cannot start the driver service on http://localhost:49756/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐