예제 #1
0
        public LandingPage LoginAsAdmin(string username, string password)
        {
            // https://crm422752.crm.dynamics.com/
            WebDriver.ElementWithWait(x => x.FindElement(By.Id("i0116")), TimeSpan.FromSeconds(10)).Clear();
            WebDriver.ElementWithWait(x => x.FindElement(By.Id("i0116")), TimeSpan.FromSeconds(10)).SendKeys(username);
            WebDriver.ElementWithWait(x => x.FindElement(By.Id("i0116")), TimeSpan.FromSeconds(10)).SendKeys(Keys.Enter);

            // ugly
            Thread.Sleep(1000);

            WebDriver.FindElement(By.Id("i0118")).Clear();
            Thread.Sleep(500);
            WebDriver.ElementWithWait(x => x.FindElement(By.Id("i0118")), TimeSpan.FromSeconds(10))
            .SendKeys(password);

            Thread.Sleep(500);

            WebDriver.ElementWithWait(x => x.FindElement(By.Id("idSIButton9")), TimeSpan.FromSeconds(10))
            .Click();

            Thread.Sleep(3000);

            var staySignedInDialog = WebDriver.ElementWithWait(x => x.FindElement(By.Id("displayName")), TimeSpan.FromSeconds(10));

            if (staySignedInDialog?.Text == "*****@*****.**")
            {
                return(NavigateTo <LandingPage>(By.Id("idBtn_Back"), e => e.Click()));
            }

            return(null);
        }
예제 #2
0
        ///// <summary>
        ///// JQuery selector example
        ///// </summary>
        //public IWebElement LoginButton => WebDriver.FindElementByJQuery("input[name='btnSubmit']");

        public LoginPage BrittleLoginAsAdmin(string baseUrl, string password)
        {
            // https://crm422752.crm.dynamics.com/
            WebDriver.Navigate().GoToUrl(baseUrl);

            UserIdField.Clear();
            // sending a single quote is not possible with the Chrome Driver, it sends two single quotes!
            UserIdField.SendKeys("*****@*****.**");

            NextButton.Click();

            PasswordField.Clear();
            PasswordField.SendKeys(password);

            var wait = new WebDriverWait(WebDriver, TimeSpan.FromSeconds(5));

            wait.Until(f => f.FindElements(By.XPath("//div[@class='col-xs-24 no-padding-left-right button-container']/div/input")).FirstOrDefault());

            SignInButton = WebDriver.FindElements(By.Id("idSIButton9")).FirstOrDefault();
            SignInButton.Click();

            var staySignedInDialog = WebDriver.FindElement(By.XPath("//div[@role='heading']"));

            if (staySignedInDialog?.Text == "Stay signed in?")
            {
                wait = new WebDriverWait(WebDriver, TimeSpan.FromSeconds(5));
                wait.Until(f => f.FindElements(By.XPath("//div[@class='col-xs-24 no-padding-left-right button-container']/div/input")).FirstOrDefault());

                var noButton = WebDriver.FindElements(By.Id("idBtn_Back")).FirstOrDefault();
                noButton.Click();
            }

            return(this);
        }