public void CollectLogsFromBrowser() { JavaScriptExecutor = WebDriver as IJavaScriptExecutor; if (JavaScriptExecutor != null) { var errors = JavaScriptExecutor.ExecuteScript(@"return window.JSLogCollector ? window.JSLogCollector.pump() : [];"); var collection = errors as ReadOnlyCollection <object>; foreach (var item in collection) { var errorObject = item as Dictionary <string, object>; foreach (var field in errorObject) { if (field.Value.GetType() == typeof(Dictionary <string, object>)) { var innerItem = field.Value as Dictionary <string, object>; foreach (var inner in innerItem) { Console.WriteLine(inner.Key + " - " + inner.Value); } } else { Console.WriteLine(field.Key + " - " + field.Value); } } Console.WriteLine("-------------------"); } } }
protected void WaitUntilLoaded() { new WebDriverWait(WebDriver, Timeout) .Until(aWebDriver => JavaScriptExecutor.ExecuteScript("return window.jsonRequestHandler;") != null ); }
public void ClickOnEquipmentTab() { IWebElement webElement = tabEquipment; JavaScriptExecutor.JavaScriptClick(driver, webElement); //tabEquipment.Click(); }
public void PerformMediaAction(MediaAction mediaAction, float arg = 0) { if (mediaAction == MediaAction.Play) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Starting to play " + _selfSelector); Interact(elmnt => JavaScriptExecutor.ExecuteScript("arguments[0].play()", elmnt)); } else if (mediaAction == MediaAction.Pause) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Pausing " + _selfSelector); Interact(elmnt => JavaScriptExecutor.ExecuteScript("arguments[0].pause()", elmnt)); } else if (mediaAction == MediaAction.VolumeChange) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Setting volume to " + arg + " for " + _selfSelector); SetAttribute("volume", "(float)" + arg); } else if (mediaAction == MediaAction.RateChange) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Setting playback rate to " + arg + " for " + _selfSelector); SetAttribute("playbackRate", "(float)" + arg); } else if (mediaAction == MediaAction.RateChange) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Changing the current time to " + arg + " for " + _selfSelector); SetAttribute("currentTime", "(float)" + arg); } }
protected void WaitUntilClientCached() { new WebDriverWait(WebDriver, Timeout) .Until(aWebDriver => JavaScriptExecutor.ExecuteScript("return window.localStorage.getItem('clientApplication');") != null ); }
public void ThenIShouldSeeSearchResults(string p0) { try { string keyword = p0; switch (keyword) { case "Qa": Thread.Sleep(5000); JavaScriptExecutor.ScrollToView(By.XPath(".//*[@id='list']/ul/li[4]/div/h3/a")); Thread.Sleep(5000); Assert.IsTrue(GenericHelper.GetElement(By.XPath(".//*[@id='list']/ul/li[4]/div/h3/a")).Text.Contains("Amba Hotel")); break; case "Preview": Thread.Sleep(5000); JavaScriptExecutor.ScrollToView(By.XPath(".//*[@id='list']/ul/li[1]/div/h3/a")); Thread.Sleep(5000); Assert.IsTrue(GenericHelper.GetElement(By.XPath(".//*[@id='list']/ul/li[1]/div/h3/a")).Text.Contains("100 Queen's Gate Hotel")); break; default: Console.WriteLine("No Matching Text Found"); break; } } catch (Exception e) { Logger.Error("Exception: " + e); Assert.Fail("Exception" + e); throw; } }
public void TestPrompt() { NavigationHelper.NavigateToUrl("http://www.w3schools.com/js/tryit.asp?filename=tryjs_prompt"); BrowserHelper.SwitchToFrame(By.Id("iframeResult")); ButtonHelper.ClickButton(By.XPath("//button[text()='Try it']")); var text = JavaScriptPopHelper.GetPopUpText(); JavaScriptPopHelper.SendKeys(text); JavaScriptPopHelper.ClickOkOnPopup(); BrowserHelper.RefreshPage(); BrowserHelper.SwitchToFrame(By.Id("iframeResult")); ButtonHelper.ClickButton(By.XPath("//button[text()='Try it']")); text = JavaScriptPopHelper.GetPopUpText(); JavaScriptPopHelper.SendKeys(text + "abc"); JavaScriptPopHelper.ClickCancelOnPopup(); ObjectRepository.Driver.SwitchTo().DefaultContent(); GenericHelper.WaitForWebElement(By.Id("textareaCode"), TimeSpan.FromSeconds(60)); JavaScriptExecutor.ExecuteScript("document.getElementById('textareaCode').style.display='block';"); TextBoxHelper.ClearTextBox(By.Id("textareaCode")); TextBoxHelper.TypeInTextBox(By.Id("textareaCode"), text); //IAlert prompt = ObjectRepository.Driver.SwitchTo().Alert(); //prompt.SendKeys("This is automation"); //prompt.Accept(); // ButtonHelper.ClickButton(By.XPath("//button[text()='Try it']")); //prompt = ObjectRepository.Driver.SwitchTo().Alert(); //prompt.SendKeys("This is automation"); //prompt.Dismiss(); Logger.Info("Test Prompt Complete"); }
public void CheckedProfileParameter() { IWebElement webElement = checkListLoggingParameter; JavaScriptExecutor.JavaScriptClick(driver, webElement); //checkListLoggingParameter.Click(); }
public void ClickApplyChanges() { IWebElement webElement = btnApplyChanges; JavaScriptExecutor.JavaScriptClick(driver, webElement); //btnApplyChanges.Click(); }
public void ThenIShouldSeeAndInSearchReuslt(string p0, string p1) { try { Thread.Sleep(5000); JavaScriptExecutor.ScrollToView(By.XPath(".//*[@id='list']/ul/li[9]/div/h3/a")); Assert.IsTrue(GenericHelper.GetElement(By.XPath(".//*[@id='list']/ul/li[9]/div/h3/a")).Text.Contains(p0)); } catch (Exception e) { Logger.Error("Exception: " + e); Assert.Fail("Exception" + e); throw; } try { Thread.Sleep(5000); JavaScriptExecutor.ScrollToView(By.XPath(".//*[@id='list']/ul/li[18]/div/h3/a")); Assert.IsTrue(GenericHelper.GetElement(By.XPath(".//*[@id='list']/ul/li[18]/div/h3/a")).Text.Contains(p1)); } catch (Exception e) { Logger.Error("Exception: " + e); Assert.Fail("Exception" + e); throw; } }
public void ClickOnCreateButton() { IWebElement webElement = btnCreateProfile; JavaScriptExecutor.JavaScriptClick(driver, webElement); //btnCreateProfile.Click(); }
/// <summary> /// Enter folder name /// </summary> /// <param name="FolderName"></param> public void EnterFolderName(string FolderName) { Waits.Wait(driver, 3000); JavaScriptExecutor.JavaScriptScrollToElement(driver, txtFolderName); Waits.WaitTillElementIsClickable(driver, txtFolderName); txtFolderName.SendKeys(FolderName); }
public void SearchForTeslaTest() { Console.WriteLine(StartPage._searchRresults.Count); StartPage.Search("Tesla"); Console.WriteLine(StartPage._searchRresults.Count); Console.WriteLine(StartPage.GetSearchResult(0).GetTitle()); Console.WriteLine(StartPage.GetSearchResult(0).GetPrice()); // Method allows to scroll to WebElement JavaScriptExecutor.ScrollIntoView(StartPage.GetSearchResult(20).WrappedWebElement); Wait.Time(TimeSpan.FromSeconds(3)); StartPage.GetSearchResult(40).ScrollIntoView(); Wait.Time(TimeSpan.FromSeconds(3)); StartPage.GetSearchResult(2).ScrollIntoView(); Wait.Time(TimeSpan.FromSeconds(3)); foreach (var result in StartPage.GetAllSearchResults()) { _softAssert.IsTrue(result.GetTitle().ToLower().Contains("tesla"), "Every result should contain 'tesla' in it's header: '" + result.GetTitle() + "'"); } _softAssert.AssertAll(); }
public void ScrollToView() { NavigationHelper.NavigateToUrl("http://qa.conventionbureau.london/search-accommodation"); Thread.Sleep(5000); JavaScriptExecutor.ScrollToView(By.XPath(".//*[@id='list']/ul/li[3]/div/h3/a")); Thread.Sleep(1000); }
public void TestAlert_using_Helper() { //Javascript executor example NavigationHelper.NavigateToUrl("https://www.w3schools.com/js/js_popup.asp"); ButtonHelper.ClickButton(By.CssSelector("#main>div:nth-of-type(4)>a")); BrowserHelper.SwitchToWindow(1); ObjectRepository.Driver.SwitchTo().Frame(ObjectRepository.Driver.FindElement(By.CssSelector("#iframeResult")));//switches to frame ButtonHelper.ClickButton(By.CssSelector("button[onclick = 'myFunction()']")); var text = JavascriptPopupHelper.GetPopupText(); JavascriptPopupHelper.ClickOKOnPopup(); ObjectRepository.Driver.SwitchTo().DefaultContent(); // Add this line before the line of code , where you are trying to clear the text area IWebElement textarea = ObjectRepository.Driver.FindElement(By.Id("textareaCode")); JavaScriptExecutor.ExecuteScript("document.getElementById('textareaCode').setAttribute('style','display: inline;')"); //if wewant to enterdata in the feild JavaScriptExecutor.ExecuteScript("document.getElementById('textareaCode').value = 'new data'"); // for clicking ------JavaScriptExecutor.ExecuteScript("document.getElementById('hghgjghgjgjgjgj').click()"); // TextboxHelper.ClearTextBody(By.XPath("//*[@id='textareawrapper']/div/div[6]/div[1]/div/div/div/div[5]")); //TextboxHelper.ClearTextBody(By.Id("textareacontainer")); // TextboxHelper.ClearTextBody(By.XPath("//*[@id='textareawrapper']/div/div[6]/div[1]/div/div/div")); //TextboxHelper.ClearTextBody(By.XPath("//*[@id='textareawrapper']/div/div[1]")); // TextboxHelper.ClearTextBody(By.XPath("//*[@id='textareawrapper']/div/div[6]/div[1]/div/div")); //Thread.Sleep(200); //TextboxHelper.ClearTextBody(By.XPath("//*[@id='textareawrapper']/div/div[6]/div[1]")); TextboxHelper.ClearTextBody(By.CssSelector("#textareaCode")); TextboxHelper.TypeInTextbox(By.CssSelector("#textareaCode"), text); }
protected virtual void OpenNewWindowTab(string url) { bool shouldOpen = !IsOpened; if (!shouldOpen) { JavaScriptExecutor.ExecuteScript("window.open();"); DriverKeeper.GetDriver.SwitchTo().Window(DriverKeeper.GetDriver.WindowHandles.Last()); } else { DriverKeeper.GetDriver.SwitchTo().ParentFrame(); } if (!string.IsNullOrEmpty(url) || !string.IsNullOrWhiteSpace(url)) { DriverKeeper.GetDriver.Navigate().GoToUrl(url); } if (!shouldOpen) { WindowChanged?.Invoke(DriverKeeper.GetDriver.WindowHandles.Last()); } else { myWindow = new BrowserWindow(); BrowserOpened?.Invoke(); } }
public void SetAttribute(string attributeName, string value) { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, "Setting atribute " + attributeName + " to " + value + " for " + _selfSelector); Interact(elmnt => { JavaScriptExecutor.ExecuteScript("arguments[0].setAttribute(arguments[1], arguments[2])", elmnt, attributeName, value); }); }
public bool HasEvents() { //new WebDriverExtensions(_driver).WaitForPresence(_eventsContainer); //GenericHelper.WaitForWebElementInPage(By.ClassName("callout h112 cf"), TimeSpan.FromMilliseconds(500)); JavaScriptExecutor.ScrollToElement(_eventsContainer); return(!String.IsNullOrEmpty(_eventsContainer.Text)); }
public void InitalizationWorkedServerSide() { JavaScriptExecutor.ExecuteScript("window.localStorage.setItem('executionSide','server');"); Navigate("/", aReload: true); WaitUntilLoaded(); InitalizationWorked(); }
public void MouseOver() { WebDriverManager.TestWebDriver.LogMessage(LogLevel.Verbose, $"Performing MouseOver on element: [{_selfSelector}]"); Interact(elmnt => { JavaScriptExecutor.ExecuteScript("var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent(\"mouseover\", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);arguments[0].dispatchEvent(evObj);", elmnt); }); }
public BaseElement(IWebElement Element, BaseDriver Driver, string ElementName) { IWebElement = Element; BaseDriver = Driver; WebWaiter = BaseDriver.WebWaiter; Name = ElementName; Logger = BaseDriver.Logger; JavaScriptExecutor = new JavaScriptExecutor(IWebElement); }
/// <summary> /// Click on Folder header /// </summary> /// <param name="folderName"></param> public void ClickOnFolderHeader(string folderName) { folderName = folderName.Trim('"'); driver.Navigate().Refresh(); IWebElement element = driver.FindElement(By.XPath("//div[@id='divBoxHead'][contains(.,'" + folderName + "')]")); JavaScriptExecutor.JavaScriptScrollToElement(driver, element); element.Click(); }
public void TestKenDropDown() { NavigationHelper.NavigateToUrl("https://demos.telerik.com/kendo-ui/dropdownlist/index"); GenericHelper.WaitForWebElement(By.XPath(DropDownXpath), TimeSpan.FromSeconds(60)); JavaScriptExecutor.ScrollIntoViewAndClick(By.XPath(DropDownXpath)); GenericHelper.WaitForWebElement(By.XPath(ItemXpath), TimeSpan.FromSeconds(60)); ButtonHelper.ClickButton(By.XPath(ItemXpath)); Thread.Sleep(1000); }
public object ExecuteScript(string javascript, Scope scope, params object[] args) { if (NoJavascript) { throw new NotSupportedException("Javascript is not supported by " + browser); } elementFinder.SeleniumScope(scope); return(JavaScriptExecutor.ExecuteScript(javascript, ConvertScriptArgs(args))); }
public void scrolling() { NavigationHelper.NavigateToUrl(ObjectRepository.Config.GetWebsite()); // IJavaScriptExecutor executor = ((IJavaScriptExecutor)ObjectRepository.Driver); IWebElement element = ObjectRepository.Driver.FindElement(By.CssSelector("a#countries")); JavaScriptExecutor.ExecuteScript("window.scrollTo(0," + element.Location.Y + ")"); element.Click(); }
public void LoadsClientSide() { JavaScriptExecutor.ExecuteScript("window.localStorage.setItem('executionSide','client');"); Navigate("/", aReload: true); WaitUntilLoaded(); IWebElement element1 = WebDriver.FindElement(By.CssSelector("[data-qa='BlazorLocation']")); element1.Text.ShouldBe("Client Side"); }
public void LoadsServerSide() { JavaScriptExecutor.ExecuteScript("window.localStorage.setItem('executionSide','server');"); Navigate("/", aReload: true); WaitUntilLoaded(); WaitAndAssertEqual( aExpected: "Server Side", aActual: () => WebDriver.FindElement(By.CssSelector("[data-qa='BlazorLocation']")).Text ); }
/// <summary> /// /// </summary> /// <param name="aWebDriver"></param> /// <param name="aServerFixture"> /// Is a dependency as the server needs to be running /// but is not referenced otherwise thus the injected item is NOT stored /// </param> public ExecutionSideTests(IWebDriver aWebDriver, ServerFixture aServerFixture) : base(aWebDriver, aServerFixture) { WebDriver = aWebDriver; aServerFixture.Environment = AspNetEnvironment.Development; aServerFixture.BuildWebHostMethod = Server.Program.BuildWebHost; JavaScriptExecutor = WebDriver as IJavaScriptExecutor; object clientApplication = JavaScriptExecutor.ExecuteScript("return window.localStorage.getItem('clientApplication');"); clientApplication.ShouldBe("TestApp.Client.0.0.1"); }
public string ExecuteScript(string javascript, Scope scope) { if (NoJavascript) { throw new NotSupportedException("Javascript is not supported by " + browser); } elementFinder.SeleniumScope(scope); var result = JavaScriptExecutor.ExecuteScript(javascript); return(result == null ? null : result.ToString()); }
/// <summary> /// Is folder present /// </summary> /// <param name="folderName"></param> /// <returns></returns> public bool IsFolderPresent(string folderName) { bool flag; folderName = folderName.Trim('"'); driver.Navigate().Refresh(); IWebElement element = driver.FindElement(By.XPath("//div[@id='divBoxHead'][contains(.,'" + folderName + "')]")); JavaScriptExecutor.JavaScriptScrollToElement(driver, element); flag = element.Displayed; return(flag); }