初识自动化测试

一、什么是自动化测试

自动化测试主要解决回归测试问题,通过编写代码和脚本,让计算机自动执行测试用例,替代传统的手工测试,就像有一个不知疲倦的测试助手,可以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();
    }
}

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

↓↓↓↓

自动化测试常见函数

相关推荐
liulilittle7 小时前
mock 规范总纲
ai·自动化·llm·mock·测试·tools
liulilittle8 小时前
麻将结算全链路语义(SETTLE_SEMANTICS)
ai·自动化·llm·mock·lua·测试
cpolar技术支持10 小时前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
liulilittle10 小时前
麻将服务器崩溃补偿与异常处理语义(CRASH_SEMANTICS)
ai·自动化·llm·mock·lua·测试·tools
liulilittle11 小时前
麻将 UI 层可观察行为(UI_BEHAVIOR)
ai·自动化·llm·mock·lua·测试·tools
更深兼春远11 小时前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
liulilittle12 小时前
麻将节点间路由转发链:失败回退与错误传播语义(ROUTE_SEMANTICS)
ai·自动化·llm·mock·测试·script·tools
liulilittle13 小时前
mock 框架架构
ai·架构·自动化·llm·mock·测试·tools
liulilittle13 小时前
C++ 引擎接口到 mock 的映射(INTERFACE_MAP)
ai·自动化·llm·mock·lua·测试·tools
蒸鱼Yuzheng1 天前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试