Ejemplo n.º 1
0
        public void Run(Test test, bool suppressExceptions)
        {
            IWebDriver claimedWebdriver = null;
            string     driverId         = "";
            bool       cleanupSucceeded = false;

            foreach (var point in test.Points)
            {
                var testState = new TestState();
                if (claimedWebdriver != null)
                {
                    testState.SaveInstanceWithKey("driver", claimedWebdriver);
                    testState.SaveInstanceWithKey("driverid", driverId);
                }

                cleanupSucceeded = Do(point, suppressExceptions, testState);

                claimedWebdriver = (IWebDriver)testState.GetInstanceWithKey("driver");
                driverId         = (string)testState.GetInstanceWithKey("driverid");
            }

            if (claimedWebdriver != null)
            {
                WebDriverProvider.Release(claimedWebdriver, cleanupSucceeded);
            }
        }
Ejemplo n.º 2
0
        public override TestStepResult Do()
        {
            var driver       = (IWebDriver)TestState.GetInstanceWithKey("driver");
            var elementQuery = GetTestData(1);
            var selectorType = GetTestData(2);

            var element = driver.FindElement(SeleniumUtil.GetSelector(selectorType, elementQuery));

            if (null == element)
            {
                return(TestStepResult.Failed($"Could not find Element {elementQuery}"));
            }
            var dsn = element.GetAttribute("data-service-name");

            driver.SwitchTo().Window(driver.CurrentWindowHandle);
            driver.FindElement(By.XPath("//body")).Click();

            if (element.GetAttribute("href") != null)
            {
                element.Click();
                Thread.Sleep(5000);
            }
            else
            {
                element.Click();
            }

            return(TestStepResult.Successful());
        }
Ejemplo n.º 3
0
        public override TestStepResult Do()
        {
            var driver = (IWebDriver)TestState.GetInstanceWithKey("driver");

            driver.Dispose();

            return(TestStepResult.Successful());
        }
        public async Task <TechnicalOutcome> Run(Test test, bool suppressExceptions, CancellationToken cancelToken)
        {
            IWebDriver       claimedWebdriver = null;
            string           driverId         = "";
            TechnicalOutcome outcome          = TechnicalOutcome.Ok;

            foreach (var point in test.Points)
            {
                var testState = new TestState();
                if (claimedWebdriver != null)
                {
                    testState.SaveInstanceWithKey("driver", claimedWebdriver);
                    testState.SaveInstanceWithKey("driverid", driverId);
                }

                var stopwatch = new Stopwatch();

                stopwatch.Start();
                outcome = await Do(point, suppressExceptions, testState, test.TestCaseId, cancelToken);

                stopwatch.Stop();
                point.Duration = stopwatch.Elapsed;

                claimedWebdriver = (IWebDriver)testState.GetInstanceWithKey("driver");
                driverId         = (string)testState.GetInstanceWithKey("driverid");

                if (outcome != TechnicalOutcome.Ok)
                {
                    break;
                }
            }

            if (claimedWebdriver != null)
            {
                _logger.Debug($"Releasing driver {driverId}");
                WebDriverProvider.Release(claimedWebdriver, outcome == TechnicalOutcome.Ok);
                _logger.Debug($"Driver {driverId} released");
            }

            return(outcome);
        }
Ejemplo n.º 5
0
        private void AddTestStateToExecutor(IExecuteTestStep executor, TestState testState)
        {
            if (testState.GetInstanceWithKey("driver") == null && Attribute.GetCustomAttribute(executor.GetType(), typeof(InitWebDriver)) != null)
            {
                var webDriver = WebDriverProvider.Get(testState.SessionId).Result;
                var id        = Guid.NewGuid().ToString();

                testState.SaveInstanceWithKey("driver", webDriver);
                testState.SaveInstanceWithKey("driverid", id);
            }

            executor.TestState = testState;
        }
        public override TestStepResult Do()
        {
            var driver = (IWebDriver)TestState.GetInstanceWithKey("driver");

            var text         = GetTestData(1);
            var elementQuery = GetTestData(2);
            var selectorType = GetTestData(3);

            var select = new SelectElement(driver.FindElement(SeleniumUtil.GetSelector(selectorType, elementQuery)));

            select.SelectByText(text);

            return(TestStepResult.Successful());
        }
        private string GetScreenShot(TestState state)
        {
            try
            {
                var driver = (IWebDriver)state.GetInstanceWithKey("driver");
                var bytes  = GetScreenshot(driver).AsByteArray;

                return(_blobStore.UploadFile(bytes, name: Guid.NewGuid().ToString() + ".png").Split('?')[0]);
            }
            catch (Exception e)
            {
                Trace.WriteLine("Attachments: " + e.Message + ", stack: " + e.StackTrace);
                return(null);
            }
        }
        public override TestStepResult Do()
        {
            var driver = (IWebDriver)TestState.GetInstanceWithKey("driver");

            var cookieName = GetTestData(1);

            var cookies = driver.Manage().Cookies;

            if (cookies.GetCookieNamed(cookieName) != null)
            {
                cookies.DeleteCookieNamed(cookieName);
            }

            return(TestStepResult.Successful());
        }
        public override TestStepResult Do()
        {
            var driver       = (IWebDriver)TestState.GetInstanceWithKey("driver");
            var elementQuery = GetTestData(1);
            var selectorType = GetTestData(2);

            var element = driver.FindElement(SeleniumUtil.GetSelector(selectorType, elementQuery));

            if (null == element)
            {
                return(TestStepResult.Failed($"Could not find Element {elementQuery}"));
            }
            element.Click();

            return(TestStepResult.Successful());
        }
Ejemplo n.º 10
0
        public override TestStepResult Do()
        {
            var driver       = (IWebDriver)TestState.GetInstanceWithKey("driver");
            var elementQuery = GetTestData(1);
            var selectorType = GetTestData(2);
            var text         = GetTestData(3);

            var element = driver.FindElement(SeleniumUtil.GetSelector(selectorType, elementQuery));

            if (!element.Text.Contains(text))
            {
                return(TestStepResult.Failed($"Element did not contain the expected text. Expected: '{text}' Got: '{element.Text}'"));
            }

            return(TestStepResult.Successful());
        }
        private async Task <bool> AddTestStateToExecutor(IExecuteTestStep executor, TestState testState)
        {
            if (testState.GetInstanceWithKey("driver") == null && Attribute.GetCustomAttribute(executor.GetType(), typeof(InitWebDriver)) != null)
            {
                _logger.Debug("Claiming webdriver");

                var webDriver = await WebDriverProvider.Get(testState.SessionId);

                var id = Guid.NewGuid().ToString();

                _logger.Debug($"Webdriver with id {id} claimed");
                testState.SaveInstanceWithKey("driver", webDriver);
                testState.SaveInstanceWithKey("driverid", id);
            }

            executor.TestState = testState;

            return(true);
        }