• 软件测试 -- 自动化测试(Selenium)


            在这里记录一下 自动化测试 -- Selenium 的一些基础知识点,只记录方法。

    Selenium 浏览器操作

    1. • get(): 打开浏览器
    2. • getTitle(): 获取浏览器标题
    3. • getCurrentUrl(): 获取当前页面的 URL 地址
    4. • close(): 关闭浏览器
    5. • quit(): 退出浏览器
    6. • navigate().to(): 进入指定页面
    7. • navigate().back(): 后退到上一个页面
    8. • navigate().forward(): 前进到下一个页面
    9. • refresh(): 刷新页面
    10. • switchTo().window(): 切换窗口
    11. • window().maximize():最大化
    12. • window().fullscreen():全凭
    13. • window().getSize():获取大小
    14. • window().setSize(Dimension targetSize):设置大小
    15. • window().getPosition():获取位置
    16. • window().setPosition(Point targetPosition):设置位置

    Selenium 元素定位(包含 Web 表单)

    findElement 和 findElements

            findElement 和 findElements 都可以用于定位元素,它们都需要传入一个 By 类型,但是他们的返回值不同,区别如下:

            • List findElements(By by): findElements 方法返回一个元 素列表

            • WebElement findElement(By by): findElement 放回一个元素 在实际使用过程中

            对单个元素的定位我们通常使用 findElement 方法,如果 要定位一组元素,那么推荐使用 findElements 方法,如果使用 findElement 方法定位到的元素有多个,那么该方法只会发返回第一个。

    1. • findElement(By.id()): id 定位
    2. • findElement(By.name()): name 定位
    3. • findElement(By.linkText()): linkText 定位
    4. • findElement(By.partialLinkText()): partialLinkText 定位
    5. • findElement(By.className()): className 定位
    6. • findElement(By.tagName()): tagName 定位
    7. • findElement(By.xpath()): xpath 定位
    8. • findElement(By.cssSelector()): cssSelector 定位
    9. • switchTo().frame: 切换 iframe 表单

    Selenium 元素操作

            我们知道通过 findElement 和 findElements 方法可以获取单个 WebElement 元素或者 List 元素列表,因 此我们可以进行元素属性的获取或者直接对该元素进行操作。

    1. • getText(): 获取元素的文本信息,也就是在开始和结束标签之间的内
    2. 容,该内容可以用于断言我们定位到的元素是不是我们想要的元素
    3. • getTagName(): 获取元素的标签名,该方法也可以用于判断是否定位到
    4. 了正确的元素
    5. • getAttribute(): 根据元素的属性名获取元素的属性值
    6. • isEnabled(): 判断元素是否可以操作,如 click() 点击 等,返回值为
    7. True 或 False
    8. • isDisplayed(): 判断元素是否在页面上展示
    9. • isSelected(): 选项或者元素是否被选中,在单选或者多选框中常用到
    10. • click(): 适用于任何元素,对其进行点击操作
    11. • sendkeys(): 适用于文本区域或者可编辑的元素,可以输入指定内容
    12. • clear(): 适用于文本区域或者可编辑的元素,可以清空文本内容
    13. • submit(): 适用于 Form 表单元素,用于提交数据,Selenium 4 中不再
    14. 推荐使用此方法,而是推荐直接点检表单的提交按钮
    15. • select: 选择单选或者多选框中的元素

    Selenium 特殊元素定位与操作

    1. • switchTo().alert().getText(): 获取弹出框文本信息
    2. • switchTo().alert().accept(): 点击弹出框确认按钮
    3. • switchTo().alert().dismiss(): 点击弹出框取消按钮
    4. • getCookies():获取全部 Cookie 信息
    5. • addCookie():添加 Cookie
    6. • deleteAllCookies():删除所有的 Cookie
    7. • deleteCookieNamed(): 删除指定的 Cookie
    8. • getCookieNamed():获取指定的 Cookie
    9. • 文件上传处理

    Selenium 的等待

            Selenium 的等待指的是在对元素进行定位或则操作之前等待指定的一段时间, 什么时候开始等待以及等待时长都取决于脚本以及使用的等待的类型。 Selenium 等待的使用有以下几个场景,比如:

            • 等待元素加载完成或者可见后进行定位操作

            • 等待整个页面加载完成进行操作或者获取关键信息进行断言

    1. • 隐式等待(Implicit Wait)
    2. • 显示等待(Explicit Wait)
    3. • 强制等待 Thread Sleep

    Selenium 的自动截图

    • getScreenshotAs: 获取元素或者窗口的截图
    

    Selenium 模拟键盘及鼠标操作

    1. • clickAndHold(): 点击鼠标左键
    2. • contextClick(): 点击鼠标右键
    3. • doubleClick(): 鼠标双击
    4. • moveToElement(): 鼠标悬停
    5. • dragAndDrop(): 鼠标拖拽
    6. • perform(): 执行所有 Actions 中存储的行为
    7. • sendKeys(): 输入键盘中的按键
    8. • keysDown(): 按下按键

    附:以上内容均为个人在蓝桥杯官网学习软件测试的总结笔记,若有侵权,将在第一时间删除,若有错误,将在第一时间修改。

  • 相关阅读:
    03 - Qt 多线程网络通信——套接字
    macvlan 用于 Docker 网络
    学习负载均衡的算法
    ESP32 分区表修改导致重启的问题
    Docker compose插件安装
    [大家的项目] cargo-offline 命令
    双十一有哪些实用性强的数码好物?2022双十一实用性强的好物清单
    公会晋升计划第 2 季来啦!
    【C语言】自定义类型:联合和枚举
    Linux 常用命令
  • 原文地址:https://blog.csdn.net/weixin_67679565/article/details/136841430