• Selenium之自动化常遇问题


    1.等待方式的选择

    大家都知道Selenium中等待方式有三种,当在页面没有找到定位的元素抛出异常,那么加个等待,还有问题就换个等待方式

    • 强制等待 time.sleep(10)
    • 显式等待 driver.implicitly_wait(10)
    • 隐式等待 WebDriverWait(driver, 10).until(EC.presence_of_element_located(locator))

    2.网页的加载顺序:

    • 元素或控件(a标签 input) 
    • 标签中的数据
    • 文件、图片 

    所以有时使用wait.until(EC.presence_of_element_located((By.ID, 'kw'))).click()会提示未定位到元素,是因为元素的出现不意味着元素可点击,因此将presence_of_element_located换成visibility_of_element_located

    3.找元素出现问题,没有找到或超时:

    • 没有加等待
    • 等待时间不够
    • 定位表达式有问题
    • 显示等待的条件不对

     4.前置条件的满足(不是每一步都要通过web自动化测试实现):

    • 自动化脚本
    • 接口
    • 修改数据库
    • 手动充值

    5.basepage还有哪些方法需要封装?

    原则:不以你测试的页面改变,无论哪个页面都可以用到

    6.web分层:

    • PO,将页面逻辑和测试逻辑分离
    • 元素定位层 locator,单独成类,也可以写到类属性中(建议)
    • 数据层==>数据分组==>rf,关键字驱动
    • 用例层
    • basepage==>决定了框架的好坏,通用逻辑
    • webelement 元素层(app自动化测试学)

     7.前置条件的满足(都可以,不是每一步都要通过web自动化测试实现):

    • 自动化脚本
    • 接口
    • 修改数据库
    • 手动充值   
  • 相关阅读:
    selenium 定位元素的基本方法(6)
    selenium ,先了解html 基础知识(5)
    第 39 章 ThinkPHP--SQL 连贯操作
    第 39 章 ThinkPHP--模型初步(下)
    第 39 章 ThinkPHP--模型初步
    第 39 章 ThinkPHP--模块化和 URL 模式
    CSS属性编写顺序
    Ajax_使用jQuery 实现Ajax
    Ajax_数据格式三大类
    Ajax_使用XMLHttpRequest实现
  • 原文地址:https://www.cnblogs.com/ella-li/p/11668265.html
Copyright © 2020-2023  润新知