• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

selenium官文文档阅读(day 3)

武飞扬头像
芷月_wyy
帮助2

1.关联型xpath的用法

driver.find_element(By.XPATH,'//a[text()="xxx"]'/ancestor::祖先元素的标签名//……)

2.selenium等待

等待的作用 :在系统运行的过程中,等待网页内容的加载显示。需要耗费的时间,与网络速度、接口的复杂程度、框架设定等因素有关。在做UI自动化的时候,主要是基于系统的流程来实现的自动化,往往是下一步需要依赖上一步的特定条件才能继续执行。在下一步准备执行时,上一步必须已经完成执行,并生成实际结果。考虑到运行的时间问题和执行的步骤问题,在执行自动化测试的时候,是需要设置缓冲时间的。

2.1三大等待

1.强制等待——通过导入time类中的sleep,等待X秒之后,再继续执行后项代码。无所谓当前处于什么阶段,执行了什么操作,后续是否准备就绪。因为无法精准把握等待的时间(无法判定是否达到下一步进行的操作/无法判断页面是否加载),基本不在实际工作中使用。

2.显式等待——专门用于对指定的条件进行等待。在最大的等待时长内,依照查找的时间频率来进行搜索,查找指定的对象。until表示如果找到,则继续下一步,否则报出异常NoSuchElementException。显式等待的优点是精确对某个特定条件进行等待,不会浪费多余任何时间在等待上。如果条件成立,则立即进行下一步,如果不成立则抛出异常。

WebDriverWait(driver,20,0.5).until(ec.presence_of_element_located(locator))

3.隐式等待——设置一个隐形的等待,和一个最长等待时间,在这个时间内如果完成了页面的加载,就进行下一步,否则一直等到该时间结束,再进行下一步。优点是WebDriver整个周期都能起到作用,所以只需设置一次。缺点是必须要等待页面全部加载完成,才可以进行下一步,但有时候特定元素早已加载完成,因此在应用度上不是很灵活。

  1.  
    //设置隐式等待
  2.  
    driver.implicitly_wait(10)

3.自动化关键字驱动与关联

3.1关键字驱动

作用:把一些常用的功能进行简化。把自动化需要用到的功能,按实际业务和技术需要,封装为函数。这些功能函数,我们就称为关键字。通过关键字,做对应的功能动作,从而实现自动化,称之为关键字驱动的自动化。关键字驱动可以简化操作代码,方便自动化维护。

一个百度搜索的关键字调用简单案例:

  1.  
    from selenium import webdriver
  2.  
    from selenium.webdriver.common.by import By
  3.  
    import time
  4.  
    def get_url():
  5.  
    driver.get('https://www.百度.com')
  6.  
    def input_usrname():
  7.  
    driver.find_element(By.ID,'kw').send_keys('腾讯课堂')
  8.  
    def click_btrn():
  9.  
    driver.find_element(By.ID,'su').ckick()
  10.  
    driver = webdriver.Chrome()
  11.  
    get_url()
  12.  
    input_usrname()
  13.  
    click_btrn()
  14.  
    time.sleep(2)
  15.  
    driver.quit()
  16.  
    # 自动化框架:数据驱动;关键字驱动
  17.  
    # 数据驱动——操作和数据分开,是自动化测试的一种思想或理论
  18.  
    # 关键字是实现方式,讲一些重复率高的操作封装为关键字
学新通

3.2关联

关联是指上下文衔接调用的需求情况。关联一般分为两步,保存数据、使用数据。

4.断言

判断代码的执行是否符合预期。断言不能解决任何自动化问题,只是为了在某个节点给出明确结果。UI类自动化如果不需要校验数据正确性,就可以用报错作为断言。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiakbcf
系列文章
更多 icon
同类精品
更多 icon
继续加载