コード例 #1
0
 /// <summary>
 /// Find the element of a specified id
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public QA.IWebElement FindElementById(string id)
 {
     try
     {
         QA.IWebElement theElement = null;
         theElement = (QA.IWebElement)wd.FindElement(QA.By.Id(id));
         return(theElement);
     }
     catch (Exception)
     {
         return(null);
     }
 }
コード例 #2
0
        public Tuple<string, string> Getlabel_helpblockerror_User(IEnumerable<double> valReturn)
        {
            WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(30));
            wait.Until((d) => d.FindElement(By.Id("Username-error")) != null);

            IWebElement getlabelhelpblockerror_User = _driver.FindElement(By.Id("Username-error"));

            //string screenshotpath = TakesScreenshot.Capture(_driver, "ExtentGenerate\\Screenshots\\", "Screenshots\\" + _browser + "\\", "Screenshots" + DateTime.Now.ToString("yyyyMMddHHmmssffff"));
            string screenshotpath = TakesScreenshot.Capture(_driver, "ExtentGenerate\\Report\\", "Screenshots\\" + _browser + "\\", "Screenshots" + DateTime.Now.ToString("yyyyMMddHHmmssffff"));

            return Tuple.Create(getlabelhelpblockerror_User.Text, screenshotpath);

        }
コード例 #3
0
        public static IWebElement GetElement(OpenQA.Selenium.IWebDriver webDriver, By selector, int maxRetry = 4, int interval = 2)
        {
            if (selector == null)
            {
                return(null);
            }
            int         currentRetry = 0;
            IWebElement element      = null;

            do
            {
                try
                {
                    element = webDriver.FindElement(selector);
                }
                catch (System.Exception)
                {
                    webDriver.Manage().Timeouts().ImplicitlyWait(System.TimeSpan.FromSeconds(interval));
                    System.Threading.Thread.Sleep(interval * 1000);
                }
                //if (element == null)
                //{
                //    webDriver.Manage().Timeouts().ImplicitlyWait(System.TimeSpan.FromSeconds(interval));
                //    System.Threading.Thread.Sleep(interval * 1000);
                //}
            } while (element == null && currentRetry++ < maxRetry);

            return(element);
        }
コード例 #4
0
ファイル: UnitTest1.cs プロジェクト: icco22/tttteest123
        public void TestMethod1()
        {
            /* SETTINGS */
            driver = new ChromeDriver(Environment.CurrentDirectory);
            IJavaScriptExecutor jse     = (IJavaScriptExecutor)driver;
            SelectElement       oSelect = new SelectElement();

            driver.Navigate().GoToUrl("https://apspi2.uatweb.mbdom.rbbh/");
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            Thread.Sleep(2000);
            /* END OF SETTINGS */

            /* LOGIN */
            driver.FindElement(By.Id("txtUserName")).SendKeys("ivicasa");
            driver.FindElement(By.Id("txtPassword")).SendKeys("obukaobuka");
            driver.FindElement(By.Id("cmdOK")).Click();
            /* END OF LOGIN */


            /* PRETRAGA KLIJENATA */
            driver.SwitchTo().Window(driver.WindowHandles.Last());

            driver.FindElement(By.Id("Label2")).Click();
            Thread.Sleep(2000);
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());

            Thread.Sleep(2000);
            driver.FindElement(By.XPath("//input[@id='txtFilter']")).SendKeys("1230520");
            driver.FindElement(By.Id("btnTrazi")).Click();
            Thread.Sleep(1000);
            driver.FindElement(By.Name("dg1$ctl02$ctl00")).Click();
            Thread.Sleep(2000);
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            driver.SwitchTo().Window(driver.WindowHandles.Last());
            Thread.Sleep(2000);


            /* END OF PRETRAGA KLIJENATA */

            /* LAD */

            driver.FindElement(By.XPath("//a[contains(text(),'LAD')]")).Click();
            driver.FindElement(By.XPath("//a[contains(text(),'KONTROLA ZAHTJEVA')]")).Click();
            Thread.Sleep(5000);
            ;
        }
コード例 #5
0
        /// <summary>
        /// 根据ID查找页面指定元素
        /// </summary>
        /// <param name="id">元素ID</param>
        /// <returns>返回找到的元素,未找到返回NULL</returns>
        protected QA.IWebElement FindElementById(string id)
        {
            string message = string.Empty;

            QA.IWebElement theElement = null;
            try
            {
                _WebDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
                theElement = (QA.IWebElement)_WebDriver.FindElement(QA.By.Id(id));
            }
            catch (Exception ex)
            {
                message = string.Format("Find element faild<{0}>,error message<{1}>.", id, ex.Message);
                _SystemLog.writeLog2Console(LOG_LEVEL.ERR, message);
                theElement = null;
            }

            return(theElement);
        }
コード例 #6
0
 private static bool IsElementPresent(OpenQA.Selenium.IWebDriver driver, By by)
 {
     try
     {
         driver.FindElement(by);
         return(true);
     }
     catch (NoSuchElementException)
     {
         return(false);
     }
 }
コード例 #7
0
        /// <summary>
        /// input type="text"への入力・削除
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="elementId"></param>
        /// <param name="value"></param>
        private static void EditTextField(OpenQA.Selenium.IWebDriver driver)
        {
            var element = driver.FindElement(OpenQA.Selenium.By.Id("id_input_text"));

            // <input type="text">へデータを設定
            // なお、既にデータがあったり複数回の入力の場合、
            // データは追記されていく
            element.SendKeys("テキスト");
            element.SendKeys("txt");


            // <input type="text">のデータ削除
            element.Clear();
        }
        public void GivenIVerifyPage(string text)
        {
            //Wait for the page to load
            Libary.WaitForPageLoad(10);

            //get page text
            OpenQA.Selenium.IWebDriver browser = TestRunnerInterface.Map.loginPage.browser;

            var pageText = browser.FindElement(By.TagName("body")).Text;

            if (!pageText.Contains(text))
            {
                error       = true;
                errorString = ("Page Test(" + text + ") not found");
            }
        }
コード例 #9
0
 public static void AutomateLogin(this OpenQA.Selenium.IWebDriver driver, string username, string password)
 {
     driver.WaitForHttpResponse(By.LinkText("Log On"));
     driver.FindElement(By.LinkText("Log On")).Click();
     driver.WaitForHttpResponse(By.Id("UserName"));
     driver.FindElement(By.Id("UserName")).Clear();
     driver.FindElement(By.Id("UserName")).SendKeys(username);
     driver.FindElement(By.Id("Password")).Clear();
     driver.FindElement(By.Id("Password")).SendKeys(password);
     driver.FindElement(By.CssSelector("input.t-button")).Click();
 }
コード例 #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="we"></param>
 public QA.IWebElement WaitForElement(QA.By locator, int seconds)
 {
     UI.WebDriverWait _wait = new UI.WebDriverWait(wd, TimeSpan.FromSeconds(seconds));
     _wait.Until((d) => { return(SeleniumExtras.WaitHelpers.ExpectedConditions.PresenceOfAllElementsLocatedBy(locator)); });
     QA.IWebElement theElement = null;
     try
     {
         theElement = (QA.IWebElement)wd.FindElement(locator);
     }
     catch { }
     return(theElement);
 }
コード例 #11
0
        private object FindElement(OpenQA.Selenium.IWebDriver seleniumInstance, string searchParameter)
        {
            object element = null;



            switch (v_SeleniumSearchType)
            {
            case "Find Element By XPath":
                element = seleniumInstance.FindElement(By.XPath(searchParameter));
                break;

            case "Find Element By ID":
                element = seleniumInstance.FindElement(By.Id(searchParameter));
                break;

            case "Find Element By Name":
                element = seleniumInstance.FindElement(By.Name(searchParameter));
                break;

            case "Find Element By Tag Name":
                element = seleniumInstance.FindElement(By.TagName(searchParameter));
                break;

            case "Find Element By Class Name":
                element = seleniumInstance.FindElement(By.ClassName(searchParameter));
                break;

            case "Find Element By CSS Selector":
                element = seleniumInstance.FindElement(By.CssSelector(searchParameter));
                break;

            case "Find Element By Link Text":
                element = seleniumInstance.FindElement(By.LinkText(searchParameter));
                break;

            case "Find Elements By XPath":
                element = seleniumInstance.FindElements(By.XPath(searchParameter));
                break;

            case "Find Elements By ID":
                element = seleniumInstance.FindElements(By.Id(searchParameter));
                break;

            case "Find Elements By Name":
                element = seleniumInstance.FindElements(By.Name(searchParameter));
                break;

            case "Find Elements By Tag Name":
                element = seleniumInstance.FindElements(By.TagName(searchParameter));
                break;

            case "Find Elements By Class Name":
                element = seleniumInstance.FindElements(By.ClassName(searchParameter));
                break;

            case "Find Elements By CSS Selector":
                element = seleniumInstance.FindElements(By.CssSelector(searchParameter));
                break;

            case "Find Elements By Link Text":
                element = seleniumInstance.FindElements(By.LinkText(searchParameter));
                break;

            default:
                throw new Exception("Element Search Type was not found: " + v_SeleniumSearchType);
            }

            return(element);
        }
コード例 #12
0
 /// <summary>
 /// Finds an element using the element ID.
 /// </summary>
 /// <param name="driver">The <see cref="IWebDriver"/> to use in finding the element.</param>
 /// <param name="use">The locator string to use.</param>
 /// <returns>An <see cref="IWebElement"/> that matches the locator string.</returns>
 public IWebElement Find(OpenQA.Selenium.IWebDriver driver, string use)
 {
     return(driver.FindElement(By.Id(use)));
 }
コード例 #13
0
        //- Views a random comic:
        public void randomComic()
        {
            wd.FindElement(By.CssSelector("[href*='/toc']")).Click();

            Thread.Sleep(1000);

            IList <IWebElement> allets = wd.FindElements(By.ClassName("et"));

            Random random = new Random();
            int    index  = random.Next(0, allets.Count);

            String[] text = new String[allets.Count];

            int i = 0;

            foreach (IWebElement element in allets)
            {
                text[i++] = element.Text;


                if (index == i)
                {
                    string      path   = "html/body/div[2]/div[1]/div/div/div[" + i.ToString() + "]/div/div/a[2]";
                    IWebElement button = wd.FindElement(By.XPath(path));

                    button.Click();
                    Console.WriteLine("Clicked on a random comic strip # " + i);
                    Thread.Sleep(5000);
                    break;
                }
            }
        }
 public void TypeUsername(string typeUser)
 {
     _driver.FindElement(username).SendKeys(typeUser);
 }
コード例 #15
0
 /// <summary>
 /// Handles the command.
 /// </summary>
 /// <param name="driver">The driver used to execute the command.</param>
 /// <param name="locator">The first parameter to the command.</param>
 /// <param name="value">The second parameter to the command.</param>
 /// <returns>The result of the command.</returns>
 protected override object HandleSeleneseCommand(OpenQA.Selenium.IWebDriver driver, string locator, string value)
 {
     return(driver.FindElement(By.XPath("//body")).Text);
 }
コード例 #16
0
ファイル: OneDriver.cs プロジェクト: wturi/DemoList
 /// <summary>
 /// Find the element of a specified id
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public QA.IWebElement FindElementById(string id)
 {
     QA.IWebElement theElement = null;
     theElement = (QA.IWebElement)wd.FindElement(QA.By.Id(id));
     return(theElement);
 }
コード例 #17
0
ファイル: Email.cs プロジェクト: asad-ahml/Mailinator
 public void ValidateInbox()
 {
     // Test Case #4 Make sure Inbox field present on page
     driver.FindElement(By.XPath("//*[@id='inbox_field']"));
 }
コード例 #18
0
        public String InitProcess(String contact, String file_route, String title, String chrome_binary)
        {
            try
            {
                if (!System.IO.File.Exists(file_route))
                {
                    return("Error : Attachment not found!");
                }
                if (!System.IO.File.Exists(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "chromedriver.exe")))
                {
                    return("Error : Chromedriver.exe executable not found!\n chromedriver.exe file is missing\n update or reinstalling may fix the problem");
                }
                var chrome_driver_service = ChromeDriverService.CreateDefaultService(AppDomain.CurrentDomain.BaseDirectory, "chromedriver.exe");
                chrome_driver_service.HideCommandPromptWindow = true;
                ChromeOptions chromeOptions = new ChromeOptions();
                chromeOptions.UnhandledPromptBehavior = UnhandledPromptBehavior.Accept;
                if (File.Exists(chrome_binary))
                {
                    chromeOptions.BinaryLocation = chrome_binary;
                }
                chrome_driver = new ChromeDriver(chrome_driver_service, chromeOptions);
                IJavaScriptExecutor javaScriptExecutor = (IJavaScriptExecutor)chrome_driver;
                foreach (string ct in contact.Split(','))
                {
                    if (string.IsNullOrEmpty(ct.Trim()))
                    {
                        break;
                    }
                    if (ct.Trim().Length != 12)
                    {
                        if (!(chrome_driver is null))
                        {
                            chrome_driver.Quit();
                        }
                        return("Error : Invalid contact number-" + ct);
                    }
                    chrome_driver.Url = "https://web.whatsapp.com/send?phone=" + ct.Trim();
                    try
                    {
                        chrome_driver.SwitchTo().Alert().Accept();
                    }
                    catch (NoAlertPresentException e1)
                    {
                        Console.WriteLine(e1.Message);
                    }

                    try
                    {
                        WebDriverWait wait = new WebDriverWait(chrome_driver, System.TimeSpan.FromSeconds(60));
                        wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='main']/footer/div[1]/div[2]/div/div[2]")));
                    }
                    catch (WebDriverTimeoutException)
                    {
                        continue;
                    }
                    //sending file
                    IWebElement file_open = chrome_driver.FindElement(By.XPath("//*[@id='main']/footer/div[1]/div[1]/div[2]/div/div/span"));
                    javaScriptExecutor.ExecuteScript("arguments[0].click();", file_open);
                    chrome_driver.FindElement(By.CssSelector("input[type='file']")).SendKeys(file_route);
                    WebDriverWait wait2 = new WebDriverWait(chrome_driver, System.TimeSpan.FromSeconds(30));
                    wait2.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='app']/div/div/div[2]/div[2]/span/div/span/div/div/div[2]/span/div/div/span")));
                    IWebElement file_send = chrome_driver.FindElement(By.XPath("//*[@id='app']/div/div/div[2]/div[2]/span/div/span/div/div/div[2]/span/div/div/span"));
                    javaScriptExecutor.ExecuteScript("arguments[0].click();", file_send);

                    Thread.Sleep(1000);

                    //sending text
                    IWebElement typebox = chrome_driver.FindElement(By.XPath("//*[@id='main']/footer/div[1]/div[2]/div/div[2]"));//:chrome_driver.FindElements(By.CssSelector("div[class ='_3u328 copyable-text selectable-text']"))[0];
                    typebox.SendKeys(title);
                    IWebElement text_send = chrome_driver.FindElement(By.XPath("//*[@id='main']/footer/div[1]/div[3]/button/span"));
                    javaScriptExecutor.ExecuteScript("arguments[0].click();", text_send);
                    Thread.Sleep(3000);
                }
                chrome_driver.Quit();
                return("Process finished");
            }
            catch (Exception ex)
            {
                if (!(chrome_driver is null))
                {
                    chrome_driver.Quit();
                }
                return(ex.Message);
            }
        }