




1.自动化
1.1 自动化概念
自动 的代替人 的行为完成操作,在生活中处处可见。

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



【自动化的主要目的就是用来进行回归测试】
回归测试: 软件有多个版本需要进行功能的整体回归, 为了避免新增 功能影响 到历史 的功能 需要进行功能的回归。
常见面试题

1.2 自动化分类

【分为接口、客户端、web界面自动化测试】
1.3 自动化测试金字塔
自动化的类型非常多 ,那么到底哪一种是最好 的?哪一种测试的收益会更佳?

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

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

自动化测试:程序 需要安装 web驱动 (WebDriver),它会以本地化 方式 驱动浏览器打开并执行我们预期的操作流程。
驱动程序 实际上就是一个服务器 ,它有对应的 IP 地址和端口号。我们编写的自动化脚本需要向这个服务器发送指令或请求 ,驱动程序接收到请求后,便会操控浏览器执行一系列操作。因此,驱动程序本质上就是一个服务器,大家不必对它感到神秘或难以理解。
安装web驱动程序
第一 种:手动 下载(不推荐)


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

在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自动化脚本。



