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); } }
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()); }
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); }
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()); }
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); }