• Selenium断言的使用,等待


    自动化测试常用断言的使用方法(python)

    自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断。

    这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断。

    这里介绍以下几个断言方法:

    assertEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等,相等则测试用例通过。

    assertNotEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等,不相等则测试用例通过。
    assertTrue(x,[msg=‘测试失败时打印的信息’]): 断言x是否True,是True则测试用例通过。
    assertFalse(x,[msg=‘测试失败时打印的信息’]): 断言x是否False,是False则测试用例通过。
    assertIsNone(x,[msg=‘测试失败时打印的信息’]): 断言x是否None,是None则测试用例通过。
    assertIsNotNone(x,[msg=‘测试失败时打印的信息’]): 断言x是否None,不是None则测试用例通过。

     

    Selenium有3种类型的等待:强制等待,显式等待和隐式等待。

    time.sleep(seconds)

    seconds:等待的时间

    显式等待

    WebDriverWait类是由WebDirver 提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。

    具体格式如下:

    WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
    driver :浏览器驱动。
    timeout :最长超时时间,默认以秒为单位。
    poll_frequency :检测的间隔(步长)时间,默认为0.5S。

    WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的说明。

    * until(method, message=‘’) 调用该方法提供的驱动程序作为一个参数,直到返回值为True。

    * until_not(method, message=‘’) 调用该方法提供的驱动程序作为一个参数,直到返回值为False。

    隐式等待

    WebDriver提供了implicitly_wait()方法来实现隐式等待,默认设置为0。它的用法相对来说要简单得多。

    from selenium import webdriver

    driver = webdriver.Firefox()

    # 设置隐式等待为10秒

    driver.implicitly_wait(10)

    driver.get("http://www.baidu.com")

    driver.find_element_by_id("kw22").send_keys('selenium')

     

    implicitly_wait()默认参数的单位为秒,本例中设置等待时长为10秒。

    首先这10秒并非一个固定的等待时间,它并不影响脚本的执行速度。

    其次,它并不针对页面上的某一元素进行等待。当脚本执行到某个元素定位时,如果元素可以定位,则继续执行;

    如果元素定位不到,则它将以轮询的方式不断地判断元素是否被定位到。

    假设在第6秒定位到了元素则继续执行,若直到超出设置时长(10秒)还没有定位到元素,则抛出异常。

  • 相关阅读:
    使用 ant-design/pro-table
    cross-env 根据环境打包
    React 生成图片验证码组件使用
    一些常用的命令行
    react-grid-layout
    vsCode 常用快捷键(mac 版)
    mac 使用命令行,对远程服务器进行文件更新
    原生js 平滑滚动到页面的某个位置
    html2canvas 导出包含滚动条的内容
    react 中的 PureComponent
  • 原文地址:https://www.cnblogs.com/cyq0528/p/9916741.html
Copyright © 2020-2023  润新知