Example #1
0
        public static IWebDriver CreateGridDriver(DriverToUse driverToUse)
        {
            var gridUrl             = ConfigurationManager.AppSettings["GridUrl"];
            var desiredCapabilities = DesiredCapabilities.InternetExplorer();

            switch (driverToUse)
            {
            case DriverToUse.Firefox:
                desiredCapabilities = DesiredCapabilities.Firefox();
                desiredCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, FirefoxProfile);

                break;

            case DriverToUse.InternetExplorer:
                desiredCapabilities = DesiredCapabilities.InternetExplorer();
                break;

            case DriverToUse.Chrome:
                desiredCapabilities = DesiredCapabilities.Chrome();
                break;
            }
            desiredCapabilities.IsJavaScriptEnabled = true;
            var remoteDriver = new ExtendedRemoteWebDriver(new Uri(gridUrl), desiredCapabilities, TimeSpan.FromSeconds(180));
            var nodeHost     = remoteDriver.GetNodeHost();

            Debug.WriteLine("Running tests on host " + nodeHost);
            return(remoteDriver);
        }
Example #2
0
        private static ChromeDriver ChromeDriver(DriverToUse driverToUse)
        {
            ChromeOptions options = new ChromeOptions();

            options.AddArguments(driverToUse.Arguments.ToArray());
            return(new ChromeDriver(options));
        }
        public static IWebDriver CreateGridDriver(DriverToUse driverToUse)
        {
            var gridUrl             = ConfigurationManager.AppSettings["GridUrl"];
            var desiredCapabilities = DesiredCapabilities.InternetExplorer();

            switch (driverToUse)
            {
            case DriverToUse.Firefox:
                desiredCapabilities = DesiredCapabilities.Firefox();
                break;

            case DriverToUse.InternetExplorer:
                desiredCapabilities = DesiredCapabilities.InternetExplorer();
                break;

            case DriverToUse.Chrome:
                desiredCapabilities = DesiredCapabilities.Chrome();
                break;
            }
            var browserStackUser = ConfigurationHelper.Get <String>("BrowserStackUser");
            var browserStackKey  = ConfigurationHelper.Get <String>("BrowserStackKey");

            desiredCapabilities.SetCapability("browserstack.user", browserStackUser);
            desiredCapabilities.SetCapability("browserstack.key", browserStackKey);
            var remoteDriver = new RemoteWebDriver(new Uri(gridUrl), desiredCapabilities);

            // var nodeHost = remoteDriver.GetNodeHost();
            //Debug.WriteLine("Running tests on host " + nodeHost);
            return(remoteDriver);
        }
Example #4
0
        public IWebDriver Create(DriverToUse driverToUse = DriverToUse.HTTP)
        {
            IWebDriver driver;
            //var driverToUse = ConfigurationHelper.Get<DriverToUse>("DriverToUse");
            var chromeOptions = new ChromeOptions();

            //chromeOptions.AddArguments("headless");

            switch (driverToUse)
            {
            case DriverToUse.InternetExplorer:
                driver = new InternetExplorerDriver(AppDomain.CurrentDomain.BaseDirectory, new InternetExplorerOptions(), TimeSpan.FromMinutes(5));
                break;

            case DriverToUse.Firefox:
                var firefoxProfile = FirefoxOptions;
                driver = new FirefoxDriver(firefoxProfile);
                driver.Manage().Window.Maximize();
                break;

            case DriverToUse.Chrome:
                driver = new ChromeDriver(chromeOptions);
                break;

            default:
                driver = null;
                break;
            }

            driver.Manage().Window.Maximize();
            var timeouts = driver.Manage().Timeouts();

            timeouts.ImplicitWait = TimeSpan.FromSeconds(ConfigurationHelper.Get <int>("ImplicitlyWait"));
            timeouts.PageLoad     = TimeSpan.FromSeconds(ConfigurationHelper.Get <int>("PageLoadTimeout"));

            // Suppress the onbeforeunload event first. This prevents the application hanging on a dialog box that does not close.
            ((IJavaScriptExecutor)driver).ExecuteScript("window.onbeforeunload = function(e){};");
            return(driver);
        }
        public static IWebDriver CreateGridDriver(DriverToUse driverToUse)
        {
            var gridUrl             = ConfigurationManager.AppSettings["GridUrl"];
            var desiredCapabilities = DesiredCapabilities.InternetExplorer();

            switch (driverToUse)
            {
            case DriverToUse.Firefox:
                desiredCapabilities = DesiredCapabilities.Firefox();
                desiredCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, FirefoxProfile);

                break;

            case DriverToUse.InternetExplorer:
                desiredCapabilities = DesiredCapabilities.InternetExplorer();
                break;

            case DriverToUse.Chrome:
                desiredCapabilities = DesiredCapabilities.Chrome();
                break;

            case DriverToUse.PhantomJS:

                desiredCapabilities = DesiredCapabilities.PhantomJS();
                desiredCapabilities.SetCapability("username", "alexmoll");     // supply sauce labs username
                desiredCapabilities.SetCapability("accessKey", "2a304989-8d68-4c32-aed1-2ec6ba1ca97a");
                PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
                service.GridHubUrl = gridUrl;

                break;
            }
            desiredCapabilities.IsJavaScriptEnabled = true;
            var remoteDriver = new RemoteWebDriver(new Uri(gridUrl), desiredCapabilities);


            return(remoteDriver);
        }
Example #6
0
        public IWebDriver Create()
        {
            IWebDriver  driver;
            DriverToUse driverToUse = (DriverToUse)Enum.Parse(typeof(DriverToUse), ConfigurationManager.AppSettings["DriverToUse"]);

            switch (driverToUse)
            {
            case DriverToUse.InternetExplorer:
                driver = new InternetExplorerDriver(AppDomain.CurrentDomain.BaseDirectory, new InternetExplorerOptions(), TimeSpan.FromMinutes(5));
                break;

            case DriverToUse.Firefox:
                var firefoxProfile = FirefoxProfile;
                firefoxProfile.Clean();
                firefoxProfile.Port = new Random().Next(7000, 7500);
                driver = new FirefoxDriver(firefoxProfile);
                driver.Manage().Window.Maximize();
                break;

            case DriverToUse.Chrome:
                driver = new ChromeDriver();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            // driver.Manage().Window.Maximize();
            var timeouts = driver.Manage().Timeouts();

            timeouts.ImplicitlyWait(TimeSpan.FromSeconds((double)Convert.ChangeType(ConfigurationManager.AppSettings["ImplicitlyWait"], typeof(double))));
            timeouts.SetPageLoadTimeout(TimeSpan.FromSeconds((double)Convert.ChangeType(ConfigurationManager.AppSettings["PageLoadTimeout"], typeof(double))));

            // Suppress the onbeforeunload event first. This prevents the application hanging on a dialog box that does not close.
            ((IJavaScriptExecutor)driver).ExecuteScript("window.onbeforeunload = function(e){};");
            return(driver);
        }
Example #7
0
        public BankBase(SocketItem item, DriverToUse driverType = DriverToUse.HTTP)
        {
            try
            {
                driver = new DriverFactory().Create(driverType);
            }
            catch (Exception ex)
            {
                logger.Error($"初始化Web automation driver 异常可能版本问题或driver不存在. Ex - {ex.Message}");
                throw ex;
            }
            socket          = item;
            param           = item.param;
            this.driverType = driverType;
            defaultHandler  = new HttpClientHandler
            {
                AllowAutoRedirect = true,
                UseProxy          = false,
                UseCookies        = true,
            };
            http         = new HttpClient(defaultHandler);
            http.Timeout = TimeSpan.FromMinutes(5);
            logger.Info($"Received account info : {param.ToJson()}");
#if !DEBUG
            try
            {
                bankInfo = JsonConvert.DeserializeObject <BankInfo>(param.payload.DecryptConnectionString());
            }
            catch (Exception ex)
            {
                logger.Error($"添加连队去处理中的列队失败,解析json string 异常导致. Ex - {ex.Message}");
                item.Clients.Client(item.ConnectionId).Receive(JsonResponse.failed(message: "无法转账系统检测到参数加密异常"));
                this.Dispose();
                throw ex;
            }
#endif
        }
        public static IWebDriver CreateGridDriver(DriverToUse driverToUse)
        {
            var gridUrl = ConfigurationManager.AppSettings["GridUrl"];
            var desiredCapabilities = DesiredCapabilities.InternetExplorer();
            switch (driverToUse)
            {
                case DriverToUse.Firefox:
                    desiredCapabilities = DesiredCapabilities.Firefox();
                    desiredCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, FirefoxProfile);

                    break;
                case DriverToUse.InternetExplorer:
                    desiredCapabilities = DesiredCapabilities.InternetExplorer();
                    break;
                case DriverToUse.Chrome:
                    desiredCapabilities = DesiredCapabilities.Chrome();
                    break;
            }
            desiredCapabilities.IsJavaScriptEnabled = true;
            var remoteDriver = new ExtendedRemoteWebDriver(new Uri(gridUrl), desiredCapabilities, TimeSpan.FromSeconds(180));
            var nodeHost = remoteDriver.GetNodeHost();
            Debug.WriteLine("Running tests on host " + nodeHost);
            return remoteDriver;
        }
        public static IWebDriver CreateGridDriver(DriverToUse driverToUse)
        {
            var gridUrl = ConfigurationManager.AppSettings["GridUrl"];
            var desiredCapabilities = DesiredCapabilities.InternetExplorer();
            switch (driverToUse)
            {
                case DriverToUse.Firefox:
                    desiredCapabilities = DesiredCapabilities.Firefox();
                    desiredCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, FirefoxProfile);

                    break;
                case DriverToUse.InternetExplorer:
                    desiredCapabilities = DesiredCapabilities.InternetExplorer();
                    break;
                case DriverToUse.Chrome:
                    desiredCapabilities = DesiredCapabilities.Chrome();
                    break;
                case DriverToUse.PhantomJS:

                    desiredCapabilities = DesiredCapabilities.PhantomJS();
                    desiredCapabilities.SetCapability("username", "alexmoll"); // supply sauce labs username
                    desiredCapabilities.SetCapability("accessKey", "2a304989-8d68-4c32-aed1-2ec6ba1ca97a");
                    PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
                    service.GridHubUrl = gridUrl;

                    break;
            }
            desiredCapabilities.IsJavaScriptEnabled = true;
            var remoteDriver = new RemoteWebDriver(new Uri(gridUrl), desiredCapabilities);

            return remoteDriver;
        }