• Selenium Waits


    Selenium高级功能包含查找等待, Selenium的查找等待有两种方式, 隐式等待(Implicit Waits)和显示等待(Explicit Waits): 这里写下我对两者的理解,

    1. 隐式等待, 作用域全局, 在Web Driver 的整个生命周期都起作用, web driver的每一个操作,例如查找元素, 如果找不到对应元素就设置一个等待时间,在这个等待时间之内,每隔500毫秒就轮询一次,直至找到元素或是超时。

                OpenQA.Selenium.Chrome.ChromeDriver _chrDriver = new OpenQA.Selenium.Chrome.ChromeDriver();
                _chrDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
                _chrDriver.Navigate().GoToUrl("http://www.baidu.com");

    注:使用隐式等待会导致整个测试过程变的很慢。

    2. 显示等待, 作用域当前操作, 设置一个超时时间和期待条件, 在这个超时时间只能,每隔500毫秒轮询,如果期待条件满足就返回, 直至超时。这个超时会抛异常出来的。

                OpenQA.Selenium.Chrome.ChromeDriver _chrDriver = new OpenQA.Selenium.Chrome.ChromeDriver();
                _chrDriver.Navigate().GoToUrl("http://www.baidu.com");
    
                OpenQA.Selenium.IWebElement we = (new OpenQA.Selenium.Support.UI.WebDriverWait(_chrDriver,TimeSpan.FromSeconds(10))
                    .Until<OpenQA.Selenium.IWebElement>((d)=>{return d.FindElement(OpenQA.Selenium.By.Id("kw"));}));
                we.SendKeys("Hello");
                _chrDriver.Quit();
  • 相关阅读:
    MUI 实现下拉刷新上拉加载的简单例子
    MySQL 游标的使用
    Java 策略模式
    [].slice.call(arguments,1) 个人理解
    Hbuilder + MUI 的简单案例
    传输SO10 (SO10 Transport)
    SAP 供应商/客户的冻结及其删除操作
    SAP FI CO模块常用事务代码
    SAP-批量修改主数据(客户、供应商、物料)
    远程主动读取数据 RFC_READ_TABLE
  • 原文地址:https://www.cnblogs.com/qixue/p/3972582.html
Copyright © 2020-2023  润新知