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

news/2024/11/30 1:31:18/

        在这里记录一下 自动化测试 -- 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(): 按下按键

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


http://www.ppmy.cn/news/1431263.html

相关文章

qt文件操作的一些技巧

二、多线程处理大文件的最佳实践 1、避免共享状态 最根本解决方案是避免多个线程访问同一资源。我们可以将大文件分割成多个独立部分,分别由不同线程独占处理。只需引入一些同步点,进行简单的合并即可。 2、合理利用互斥量和读写锁 如果无法避免共享…

HarmonyOS ArkUI实战开发-页面跳转(Router、Ability)

页面跳转可以分为页面内跳转和页面间跳转,页面内跳转是指所跳转的页面在同一个 Ability 内部,它们之间的跳转可以使用 Router 或者 Navigator 的方式;页面间跳转是指所跳转的页面属与不同的 Ability ,这种跳转需要借助 featureAbi…

linux系统安全与应用【下】

目录 1.开关机安全控制 1.1GRUB限制 2.终端登录安全控制 2.1 限制root只在安全终端登录 2.2 禁止普通用户登录 3.弱口令检测 3.1 Joth the Ripper(JR) 4.网络端口扫描 4.1 nmap命令 1.开关机安全控制 1.1GRUB限制 通常情况下在系统开机进入GRU…

工业级路由器如何异地组网及其作用

在传统行业中,随着技术的不断进步和数字化转型的加速,异地组网成为了提升工作效率、降低运营成本、增强企业灵活性的重要手段。工业级路由器作为实现异地组网的关键设备,其在企业网络架构中发挥着不可替代的作用。本文将详细解释工业级路由器…

我在本地部署通义千问Qwen1.5大模型,并实现简单的对话和RAG

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

STM32自动光控窗帘程序+Proteus仿真图 H桥L298驱动电机

目录 1、前言 2、仿真图 3、源程序 资料下载地址:STM32自动光控窗帘程序Proteus仿真图 H桥L298驱动电机 1、前言 基于STM32F103设计的智能光控窗帘,包含STM32芯片、光敏电阻、LCD1602显示屏、电机驱动控制模块等。 备注:通过ARM内部的…

ESP32与SD卡交互实现:文件读写实战与初始化详解及引脚定义

本代码实现ESP32与SD卡的交互,包括定义SPI引脚、创建自定义SPI类实例、编写WriteFile与ReadFile函数进行文件读写。setup函数初始化串口、SPI、SD卡,向“/test.txt”写入“myfirstmessage”,读取并打印其内容。loop函数留空待扩展。 1. 需要…

小游戏:贪吃蛇

🎁个人主页:我们的五年 🔍系列专栏:贪吃蛇 🌷追光的人,终会万丈光芒 目录 🏝1.头文件: 🏝2.实现文件: 🏝3.测试文件 : 前言&#…