测试6:自动化测试--概念篇(JAVA)

1.自动化

1.1 自动化概念

自动代替人 的行为完成操作,在生活中处处可见。

软件中的自动化测试也是如此,通过自动化测试有效减少人力的消耗 的同时也提高了 测试的质量和效率



自动化的主要目的就是用来进行回归测试

回归测试: 软件有多个版本需要进行功能的整体回归, 为了避免新增 功能影响历史功能 需要进行功能的回归

常见面试题

1.2 自动化分类

【分为接口、客户端、web界面自动化测试】

1.3 自动化测试金字塔

自动化的类型非常 ,那么到底哪一种是最好 的?哪一种测试的收益会更佳

理想 的自动化测试金字塔表达了自动化测试的理想情况,然而实际上在企业 中,自动化往往是"冰淇淋蛋筒反模式"。

2.web自动化测试(浏览器)

web系统的测试前提是需要打开浏览器 ,通过访问web服务器 来对服务器界面进行一系列的操作。

自动化测试程序 需要安装 web驱动WebDriver),它会以本地化 方式 驱动浏览器打开并执行我们预期的操作流程。

驱动程序 实际上就是一个服务器 ,它有对应的 IP 地址和端口号。我们编写的自动化脚本需要向这个服务器发送指令或请求 ,驱动程序接收到请求后,便会操控浏览器执行一系列操作。因此,驱动程序本质上就是一个服务器,大家不必对它感到神秘或难以理解。


安装web驱动程序

种:手动 下载(不推荐

https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/


种:由驱动管理程序自动下载与浏览器版本匹配的驱动(推荐)

pom.xml 文件中添加以下配置刷新

XML 复制代码
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.8.0</version>
        <scope>test</scope>
    </dependency>

3.Selenium(web自动化测试工具

第一步程序通过web驱动(WebDriver)来打开浏览器,第二步需要使用selenium编写web自动化测试脚本

selenium库中提供了丰富的方法供给使用者进行web自动化测试】

3.1 一个简单的web自动化示例

(1)安装selenium库

pom.xml 文件中添加以下配置刷新

XML 复制代码
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.0.0</version>
</dependency>

(2)使用selenium编写代码

java 复制代码
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();
}

3.2 selenium+驱动+浏览器的工作原理

实现web自动化测试 需要浏览器浏览器驱动selenium自动化脚本

相关推荐
卷毛的技术笔记10 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥10 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog10 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb20081110 小时前
FastAPI APIRouter
开发语言·python
Benszen10 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆10 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木10 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r10 小时前
Java调用链MCP分析工具
java·python·ai编程
杨充11 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~11 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言