当前位置: 首页 > news >正文

⾃动化测试 概念

⾃动化

⾃动化概念

⾃动的代替⼈的⾏为完成操作。 ⾃动化在⽣活中处处可⻅

⾃动化的主要⽬的就是⽤来进⾏回归测试。

回归测试

软件有多个版本需要进⾏功能的整体回归。

为了避免新增功能影响到历史的功能需要进⾏功能的回归。

常⻅⾯试题

1.⾃动化测试能够取代⼈⼯测试吗?

⾃动化测试不⼀定⽐⼈⼯测试更能保障系统的可靠性,⾃动化测试是测试⼈员⼿⼯编写,后续如果有 功能的变更⾃动化也需要进⾏不定期的维护和更新。

2.⾃动化测试可以⼤幅度降低⼯作量?

错误 坑!!“⼀定程度上”和“⼤幅度”的表达⽅式也需要注意 tips:测试笔试中的选择题尽量不要选择说的太死或者太绝对的选项

⾃动化分类

• 讲⾃动化分类的⽬的是避免同学们将⾃动化混淆,同时避免讲不同的⾃动化如何实施造成的课时 压⼒

• 很多同学经常听到⾃动化这个词,但是很容易误以为⾃动化就是⼀个东西,⾃动化是个统称,同 学们可以理解为我们常说的吃⽠这样的表达⽅式和⾃动化是⼀样的,吃⽠可以是吃西⽠,吃哈密 ⽠,吃⾹⽠,⾃动化也包含多种,如接⼝⾃动化,web⾃动化,移动端⾃动化等等...

• 主要介绍各测试分类为什么需要实施⾃动化,⽬的和意义

接⼝⾃动化

什么是接⼝⾃动化测试? 为什么要做?解决了什么问题,⽬的是什么

UI⾃动化

UI测试也称为界⾯测试,常⻅的UI⾃动化测试包含web⾃动化测试、移动端⾃动化测试等等。

• 移动端⾃动化测试

什么是移动端⾃动化测试?

为什么要做?解决了什么问题,⽬的是什么

移动端,顾名思义,就是部署在⼿机上的应⽤程序。移动端⾃动化测试主要测试程序部署在⼿机上能 否按照预期的结果的进⾏操作。

移动端测试通常不是将程序部署在移动端上进⾏测试,⽽是需要安装模拟器,在电脑上编写⾃动化测 试脚本代码对模拟器上的软件进⾏操作。

• web⾃动化测试

什么是web⾃动化测试? 为什么要做?解决了什么问题,⽬的是什么

如何进⾏百度搜索?

通常来说我们⼿动进⾏百度搜索的步骤如下,web⾃动化能够代替我们⾃动的执⾏。

⾃动化测试⾦字塔

⾃动化的类型⾮常多,那么到底哪⼀种是最好的?哪⼀种测试的收益会更佳? 这⾥我们介绍测试圈内⾮常著名的⾃动化测试⾦字塔

理想的⾃动化测试⾦字塔表达了⾃动化测试的理想情况,利⽤较少的时间和精⼒在单元测试上就能够 发现更多有效的问题。 然后实际上在企业中,⾃动化往往是“冰淇淋蛋筒反模式”。

⾃动化需要⼤量的初始投资,找到“突破点”,与⼿动测试相⽐,我们开始看到它对⻓期成本产⽣的 积极影响,也能够清楚,这两种测试活动都是完全兼容,产⽣短期和⻓期利益。

web⾃动化测试

学到这⾥,希望同学们对⾃动化测试能够有⼀定的了解。然后实际在企业中,我们需要对某⼀个特定 的软件进⾏⾃动化的实施,包含但不限于软件所有界⾯的UI⾃动化测试、所有接⼝的接⼝⾃动化测 试。 接下来我们将正式步⼊web⾃动化测试的学习,了解企业中是如何使⽤⼯具来统⼀编写和管理⾃动化 ⽤例。

驱动

web系统的测试前提是需要打开浏览器,通过访问web服务器来对服务器界 ⾯进⾏⼀系列的操作。对于⼿⼯测试来说,这⼀系列的操作都需要测试⼈员⼿动的,⼀步⼀步的来执 ⾏测试。那么对于⾃动化程序来说,程序如何才能打开浏览器并执⾏我们预期的操作流程呢? 驱动⼀词应⽤⼴泛,同学们都不会陌⽣。 ⻋有了驱动才能够让⻋跑起来。

计算机有了驱动程序就可以与设备(⽿机,摄像头,⻨克⻛,键盘,显⽰器等等设备)进⾏通信。

程序想要打开web浏览器就需要安装web驱动(即WebDriver),WebDriver以本地化⽅式驱动浏览 器。

安装驱动管理

驱动管理:

WebDriverManager是⼀个开源Java库,以完全⾃动化的⽅式对SeleniumWebDriver所需的驱动程 序(如chromedriver、geckodriver、msedgedriver等)进⾏管理(即下载、设置和维护),⾃版 本5起,WebDriverManager还提供了其他相关功能,如发现本地系统中安装的浏览器的能⼒,构建 WebDriver对象(如ChromeDriver、FirefoxDriver、EdgeDriver等)

<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.8.0</version> <scope>test</scope> </dependency>

Selenium

接下来就是使⽤selenium来编写web⾃动化测试脚本。 selenium是⼀个web⾃动化测试⼯具,selenium中提供了丰富的⽅法供给使⽤者进⾏web⾃动化测 试。

⼀个简单的web⾃动化⽰例

1)安装selenium库

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version> </dependency>

2)使⽤selenium编写代码

public void example_test() { //驱动程序管理的⾃动化 WebDriverManager.chromedriver().setup(); ChromeOptions options = new ChromeOptions(); //允许访问所有链接 options.addArguments("--remote-allow-origins=*"); //1、打开浏览器 WebDriver driver = new ChromeDriver(options); //2.输⼊百度⽹址:https://www.baidu.com driver.get("https://www.baidu.com"); //3、找到输⼊框并输⼊“迪丽热巴” driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("迪丽热巴"); //4、找到“百度⼀下”按钮并点击 driver.findElement(By.xpath("//*[@id=\"su\"]")).click(); //5、关闭浏览器 driver.quit(); }

selenium+驱动+浏览器的⼯作原理

实现web⾃动化测试需要浏览器、浏览器驱动、selenium⾃动化脚本。这三者是如何交互最终实现 web的⾃动化测试?

1. 通过selenium编写的⾃动化脚本代码中在ChromeDriverService中创建⼀个服务

2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为 ChromeDriverService中创建的端⼝号,该服务地址为selenium向webdriver发送请求的服务地 址。

3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如 果再次对浏览器操作需携带此id

4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到 webdriver,然后使⽤execute发送请求

5. 驱动收到请求并对请求进⾏解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的 内容执⾏对应动作

6. 浏览器再把执⾏的动作结果通过浏览器驱动程序返回给测试脚本

驱动需要接收、解析请求,发送请求给浏览器,那么驱动到底是什么样的⻆⾊呢?

验证⽅式:

1)执⾏selenium编写的⾃动化脚本代码中,可以在终端看到创建的驱动服务地址。

http://www.jsqmd.com/news/612442/

相关文章:

  • 2025最权威的十大AI论文工具推荐榜单
  • 突破显卡性能瓶颈:NVIDIA Profile Inspector高级配置与性能优化指南
  • 实验室磁力搅拌器推荐:从恒温、多联到加热,这些型号值得了解 - 品牌推荐大师1
  • 从STM32F103到AIoT:Phi-4-mini-reasoning轻量化部署与边缘推理展望
  • GLM-OCR模型服务化与运维:高可用部署与监控实践
  • 两个细则压实后,风电功率预测在关键时段为什么能帮场站少亏几万?
  • 护发精油推荐:6款改善干枯发质的年度好物 - 博客万
  • Wan2.2-I2V-A14B与Android Studio联动:为移动App添加AI视频特效功能原型
  • Qwen3-4B-Instruct-2507实战案例:AutoGen Studio构建跨境电商多语言客服Agent
  • LeagueAkari:英雄联盟玩家的智能游戏管家,让你的游戏体验更高效更智能
  • 深入解密 JVM:CMS 垃圾回收器的“并发标记”到底是不是多此一举?
  • 【实战】Ubuntu 22.04LTS下Nvidia驱动安装与GCC版本冲突解决指南
  • 2026年络机柜厂家如何选?梯队式实力名录与选型指南 - 优质品牌商家
  • 万象视界灵坛参数详解:候选标签最大长度(77 tokens)与截断策略说明
  • 颠覆传统:March7thAssistant让崩坏星穹铁道自动化游戏体验提升10倍
  • 电脑风扇智能控制完全指南:从噪音困扰到静音高效的转变
  • 手机豆包怎么导出文档
  • 无需网络!Qwen2.5-VL-7B-Instruct纯本地部署与图文交互教程
  • Cadence Sigrity 模块深度解析:从电源完整性到信号优化的全流程应用
  • 7款ToB客户管理系统横评,线索到项目核心能力对比 - 毛毛鱼的夏天
  • 硅谷前沿访谈:CUDA之父复盘英伟达20年护城河,揭开万亿算力帝国的底牌
  • 3分钟搞定iPhone USB网络共享:Windows苹果驱动极简安装指南
  • Windows触控板终极优化指南:如何在Windows上实现macOS风格的三指拖拽功能
  • 储能系统弱网容灾架构设计:基于 SQLite 缓存与 MQTT 断点续传的边缘实现详解
  • 编写 dockerfile 的零散技巧
  • macOS资源下载完全指南:从入门到精通的网络资源嗅探解决方案
  • 算法岗面试避坑指南:从运动控制到ROS与PPO的实战复盘
  • 3 分钟搞定论文格式!Paperxie AI:让本科生彻底摆脱排版内耗
  • OpenClaw多模态编程:用Phi-3-vision-128k-instruct开发视觉脚本
  • 2026年4月汽车模具供应商选哪家,金属配件/冲压件/冲压模具/连续模具/航空模具/模具/汽车配件,汽车模具公司怎么选择 - 品牌推荐师