public bool RunAllSpecs() { string title = "Running Jasmine specs for project at " + _input.SerenityFile; Console.WriteLine(title); string line = "".PadRight(title.Length, '-'); Console.WriteLine(line); buildApplication(); bool returnValue = true; resetServer(); _driver.NavigateTo <JasminePages>(x => x.AllSpecs()); IWebDriver browser = _applicationUnderTest.Driver; Wait.Until(() => browser.FindElement(By.ClassName("finished-at")).Text.IsNotEmpty(), timeoutInMilliseconds: _input.TimeoutFlag * 1000); ReadOnlyCollection <IWebElement> failures = browser.FindElements(By.CssSelector("div.suite.failed")); if (_input.Mode == JasmineMode.run && _input.VerboseFlag) { browser.As <IJavaScriptExecutor>().ExecuteScript("$('#jasmine-reporter').show();"); ReadOnlyCollection <IWebElement> logs = browser.FindElements(By.ClassName("jasmine-reporter-item")); logs.Each(message => Console.WriteLine(message.Text)); browser.As <IJavaScriptExecutor>().ExecuteScript("$('#jasmine-reporter').hide();"); } if (failures.Any()) { returnValue = false; Console.WriteLine(line); writeFailures(failures); } Console.WriteLine(); Console.WriteLine(line); writeTotals(browser); browser.Quit(); browser.SafeDispose(); _server.Dispose(); return(returnValue); }
protected void MockAdjustElementExibition(IWebDriver driver, IWebElement element) { A.CallTo(() => driver .As <IJavaScriptExecutor>() .ExecuteScript(A <string> ._, A <IWebElement> ._)) .Returns(A.Dummy <int>()); A.CallTo(() => element.Location) .Returns(new Point(A.Dummy <int>(), A.Dummy <int>())); }
/// <summary> /// Casts the web driver to <see cref="ITakesScreenshot"/> type. /// Considers <see cref="IWrapsDriver"/>. /// </summary> /// <param name="webDriver">The <see cref="IWebDriver"/> instance.</param> /// <returns><paramref name="webDriver"/> casted to <see cref="ITakesScreenshot"/>.</returns> /// <exception cref="NotSupportedException"><paramref name="webDriver"/> doesn't implement <see cref="ITakesScreenshot"/>.</exception> public static ITakesScreenshot AsScreenshotTaker(this IWebDriver webDriver) => webDriver.As <ITakesScreenshot>();
/// <summary> /// Casts the web driver to <see cref="IJavaScriptExecutor"/> type. /// Considers <see cref="IWrapsDriver"/>. /// </summary> /// <param name="webDriver">The <see cref="IWebDriver"/> instance.</param> /// <returns><paramref name="webDriver"/> casted to <see cref="IJavaScriptExecutor"/>.</returns> /// <exception cref="NotSupportedException"><paramref name="webDriver"/> doesn't implement <see cref="IJavaScriptExecutor"/>.</exception> public static IJavaScriptExecutor AsScriptExecutor(this IWebDriver webDriver) => webDriver.As <IJavaScriptExecutor>();
protected void MockScrollElement(IWebDriver driver) => A.CallTo(() => driver .As <IJavaScriptExecutor>() .ExecuteScript(A <string> ._, A <IWebElement> ._));