Пример #1
0
        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("-------------------");
                }
            }
        }
Пример #2
0
 protected void WaitUntilLoaded()
 {
     new WebDriverWait(WebDriver, Timeout)
     .Until(aWebDriver =>
            JavaScriptExecutor.ExecuteScript("return window.jsonRequestHandler;") != null
            );
 }
Пример #3
0
        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);
     }
 }
Пример #5
0
 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;
            }
        }
Пример #7
0
        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");
        }
Пример #8
0
        public void CheckedProfileParameter()
        {
            IWebElement webElement = checkListLoggingParameter;

            JavaScriptExecutor.JavaScriptClick(driver, webElement);
            //checkListLoggingParameter.Click();
        }
Пример #9
0
        public void ClickApplyChanges()
        {
            IWebElement webElement = btnApplyChanges;

            JavaScriptExecutor.JavaScriptClick(driver, webElement);
            //btnApplyChanges.Click();
        }
Пример #10
0
        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;
            }
        }
Пример #11
0
        public void ClickOnCreateButton()
        {
            IWebElement webElement = btnCreateProfile;

            JavaScriptExecutor.JavaScriptClick(driver, webElement);
            //btnCreateProfile.Click();
        }
Пример #12
0
 /// <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);
 }
Пример #13
0
        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);
 }
Пример #15
0
        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);
        }
Пример #16
0
        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();
            }
        }
Пример #17
0
 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));
        }
Пример #19
0
        public void InitalizationWorkedServerSide()
        {
            JavaScriptExecutor.ExecuteScript("window.localStorage.setItem('executionSide','server');");

            Navigate("/", aReload: true);
            WaitUntilLoaded();
            InitalizationWorked();
        }
Пример #20
0
 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);
 }
Пример #22
0
        /// <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);
 }
Пример #24
0
        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)));
        }
Пример #25
0
        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();
        }
Пример #26
0
        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");
        }
Пример #27
0
        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
                );
        }
Пример #28
0
        /// <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");
        }
Пример #29
0
        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());
        }
Пример #30
0
        /// <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);
        }