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

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

Selenium 浏览器操作

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

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

findElement 和 findElements

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

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

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

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

• findElement(By.id()): id 定位
• findElement(By.name()): name 定位
• findElement(By.linkText()): linkText 定位
• findElement(By.partialLinkText()): partialLinkText 定位
• findElement(By.className()): className 定位
• findElement(By.tagName()): tagName 定位
• findElement(By.xpath()): xpath 定位
• findElement(By.cssSelector()): cssSelector 定位
• switchTo().frame: 切换 iframe 表单

Selenium 元素操作

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

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

Selenium 特殊元素定位与操作

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

Selenium 的等待

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

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

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

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

Selenium 的自动截图

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

Selenium 模拟键盘及鼠标操作

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

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

相关推荐

  1. 软件测试 -- 自动化测试Selenium

    2024-04-22 14:58:02       18 阅读
  2. 测试开发】自动化测试selenium

    2024-04-22 14:58:02       50 阅读
  3. Selenium - 自动化测试框架

    2024-04-22 14:58:02       45 阅读
  4. 自动化测试selenium总结

    2024-04-22 14:58:02       49 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-22 14:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-22 14:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-22 14:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-22 14:58:02       20 阅读

热门阅读

  1. 2023-2024年人形机器人行业报告合集(精选397份)

    2024-04-22 14:58:02       15 阅读
  2. pcb的几种常见认证

    2024-04-22 14:58:02       14 阅读
  3. uniapp 页面跳转通信上下级页面互传

    2024-04-22 14:58:02       15 阅读
  4. 一文了解什么是RESTful风格

    2024-04-22 14:58:02       13 阅读
  5. SQL Server详细使用教程

    2024-04-22 14:58:02       16 阅读
  6. js实现快速拖拽(定时器版本)

    2024-04-22 14:58:02       18 阅读
  7. Flink CDC 整库 / 多表同步至 Kafka 方案(附源码)

    2024-04-22 14:58:02       14 阅读
  8. 从事数据分析相关工作技术总结

    2024-04-22 14:58:02       13 阅读
  9. FFT快速傅里叶变换音频分析

    2024-04-22 14:58:02       19 阅读
  10. 基于单片机雨天自动关窗器的设计

    2024-04-22 14:58:02       15 阅读
  11. 基础矩阵和本质矩阵

    2024-04-22 14:58:02       15 阅读
  12. 水气表CJ/T188协议学习及实例

    2024-04-22 14:58:02       12 阅读
  13. 基于springboot的教学资源库源码数据库

    2024-04-22 14:58:02       14 阅读
  14. flink mysql数据表同步SQL CDC

    2024-04-22 14:58:02       12 阅读