初识自动化测试

一、什么是自动化测试

自动化测试主要解决回归测试问题,通过编写代码和脚本,让计算机自动执行测试用例,替代传统的手工测试,就像有一个不知疲倦的测试助手,可以24小时不间断地工作。自动化测试有多种类型:Web自动化测试、接口自动化测试、移动端自动化测试、单元测试等等,这里我们介绍的是Web自动化测试。

自动化测试与手工测试的区别:

特性 手工测试 自动化测试
执行速度 慢 快(可并行执行)
准确性 可能出错 精确无误
成本 短期低,长期高 短期高,长期低
覆盖范围 有限 广泛且深入
回归测试 效率低 效率极高

二、环境搭建

软件:IntelliJ IDEA

选择的工具栈:

Java + Maven:项目管理和编程语言、

Selenium WebDriver:浏览器自动化框架

WebDriverManager:自动管理浏览器驱动 (浏览器驱动两种下载方式介绍)

JUnit:测试框架

1、创建项目

2、配置依赖

JUnit Jupiter 是 JUnit 5 的核心模块,用于编写和运行单元测试

复制代码
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.8.2</version>
    <scope>test</scope>
</dependency>

WebDriverManager 是一个工具库,用于自动管理 WebDriver(如 ChromeDriver等)的下载和配置

复制代码
<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>5.6.2</version>  <!-- 或者 5.7.0 -->
</dependency>

Selenium 是一个用于自动化Web应用测试的工具,selenium-java 包含了 Selenium WebDriver 的 Java 绑定,用于编写自动化测试脚本

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

将以上三个依赖粘贴到pom.xml文件中 --->> 点击右上角蓝色m标志

接下来就可以正式编写测试代码了

三、简单测试代码介绍

测试文件位置:

我选择的浏览器驱动是EdgeDriver (其他介绍参考浏览器驱动两种下载方式介绍)

--remote-allow-origins=* : 允许任何来源的页面或应用与浏览器实例进行通信

常用浏览器启动参数:

输入要使用的网址:

启动测试代码;

很好,这时候我们看到报错了😈:

⚠️这个报错因为微软停用了历史驱动的网址,更换为了下面这个链接,但是selenium官方还没有修复这个问题,所以我们需要手动设置一下环境变量。

"wdm.edgeDriverUrl", "https://msedgedriver.microsoft.com/"

手动设置环境变量:

运行成功:

完整代码:

java 复制代码
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;

public class firstDemo {
    public void first () {

        //设置环境变量
        System.setProperty("wdm.edgeDriverUrl", "https://msedgedriver.microsoft.com/");
        //自动下载并配置浏览器
        WebDriverManager.edgedriver().setup();

        //创建浏览器配置对象
        EdgeOptions options = new EdgeOptions();
        //允许该对象访问所有链接
        options.addArguments("--remote-allow-origins=*");
        //创建浏览器并启动
        EdgeDriver driver = new EdgeDriver(options);
        //输入网址
        driver.get("https://www.baidu.com");
    }

    public static void main(String[] args) {
        firstDemo test = new firstDemo();
        test.first();
    }
}

做到这里我们就初初初步认识自动化测试啦,下次我们将学习自动化测试的常用函数。

↓↓↓↓

自动化测试常见函数

相关推荐
万联WANFLOW10 小时前
从 ARTEX 事件看 AI Agent 安全:工具调用链为何成为新的风险入口?
人工智能·安全·测试
ClouGence11 小时前
小团队做自动化测试,选测试平台还是自己搭 Playwright?
测试
冬奇Lab1 天前
LLM 驱动的自动化测试系列(07):移动端自动化(三)——Mobile-Agent-v3 与自研 GUI-Owl 模型路线
android·人工智能·测试
ClouGence1 天前
代码改完,怎么自动跑回归测试?Codex + CueCast MCP 实战方案
openai·测试
匠测AI说2 天前
AI for Testing 提效实战·测试设计(四):我拿一个真实需求,让 AI 陪我走完了整个测试设计(全程复盘)
人工智能·测试
冬奇Lab2 天前
LLM 驱动的自动化测试系列(06):移动端自动化(二)——DroidRun/Mobilerun 的角色级模型拆分
人工智能·测试
网络毒刘2 天前
为 MCP 写集成测试:mock stdio、断言 tool schema,防止升级后静默坏掉
测试·schema·mcp·atomgit
布丁丁2 天前
测试通过但业务结果错误:断言应该怎么设计
测试·全栈
冬奇Lab3 天前
开源项目第229期:e2e — 用自然语言写 E2E 测试,还能把 Agent 跑过的操作录成‘回放缓存‘免模型调用
人工智能·测试