【测试】——自动化测试入门(Selenium环境搭建)

📖 前言:本文介绍了自动化测试的基础知识,重点讲解了Selenium环境的搭建。内容包括自动化测试的定义、自动化测试金字塔模型、Selenium的特点和工作原理,以及如何在Java环境中配置和使用Selenium进行UI自动化测试。


🕒 1. 什么是自动化

自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程

🕒 2. 自动化测试金字塔

自动化测试包括UI自动化,接口自动化,单元测试自动化
按照这个金字塔模型来进行自动化测试规划,可以产生最佳的自贡话测试产出投入比(ROI ),可以用较少的投入获得很好的收益。

在这里插入图片描述
越往上越靠近用户、测试方法越简单、问题出现之后定位问题的成本越高。

🕒 3. selenium 介绍

selenium 是自动化测试框架,主要针对 web 项目进行 UI 自动化。

selenium 的特点:

  • 免费、小巧
  • 支持多语言:Java、Python、JS、Ruby、C#
  • 支持多平台:一套代码可以在 Linux、mac、Windows 上运行
  • 支持多种浏览器:Edge、Chrome、Firefox
  • 有丰富的 API
  • 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器执行,相当于分发机的功能。

🕒 4. selenium 工作原理

在这里插入图片描述

🕒 5. Java + Selenium 环境搭建

🕘 5.1 下载驱动

前提:Java 版本最低要求为 8;推荐使用 Chrome 浏览器

下载 chrome 浏览器驱动:🔎 ChromeDriver

注:115版本后,会自动根据当前浏览器版本适配相应的驱动

在这里插入图片描述
由于Chrome经常会有自动更新,每次更新后需手动同步更新相应版本的驱动,或者一劳永逸禁用自动更新(可能会产生未知问题)。

🕘 5.2 配置系统环境变量PATH

解压下载好的驱动压缩包,将下载好的chromedriver.exe放到chrome浏览器安装路径下,随后配置环境变量,将该路径复制进去。

在这里插入图片描述

在这里插入图片描述

注:如果遇到没有列表显示的情况,可在开头输入C:\Windows\System64;解决
在这里插入图片描述

🕘 5.3 验证环境是否搭建成功

🕤 5.3.1 创建 java 项目,在 pom 文件中添加依赖

在这里插入图片描述

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

🕤 5.3.2 编写代码运行

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
 
public class Main {
    public static void main(String[] args) {
        // ChromeOptions options = new ChromeOptions();
        // options.addArguments("--remote-allow-origins=*");
        // WebDriver webDriver = new ChromeDriver(options);
        WebDriver webDriver = new ChromeDriver();
        // 使用 webDriver 实例访问百度首页
        webDriver.get("https://www.baidu.com");
    }
}

在这里插入图片描述

在这里插入图片描述

运行代码后自动跳出百度界面,则表明配置成功。


关于驱动的创建

// 默认配置
WebDriver webDriver = new ChromeDriver();
// 参数配置
// 创建一个 ChromeOptions 对象,用于设置 Chrome 浏览器的启动选项
ChromeOptions options = new ChromeOptions();
// 添加启动参数以允许来自所有源的远程访问,通常用于解决跨域问题
options.addArguments("--remote-allow-origins=*");
// 使用指定的启动选项创建一个新的 ChromeDriver 实例
WebDriver webDriver = new ChromeDriver(options);

常见参数:

  1. --headless:以无头模式运行 Chrome,即不显示用户界面,适合在服务器上运行自动化脚本。
  2. --disable-gpu:禁用 GPU 硬件加速。常与无头模式一起使用。
  3. --window-size=width,height:设置浏览器窗口的初始大小。例如:--window-size=1920,1080
  4. --incognito:启动 Chrome 的隐身模式。
  5. --remote-allow-origins=*:允许来自任何来源的远程连接,解决某些跨域请求问题。
  6. --no-sandbox:禁用沙盒模式。适合某些环境(如 CI/CD)下运行,但在安全性上有所妥协。
  7. --disable-dev-shm-usage:禁用 /dev/shm 的使用,适合 Docker 容器中运行。
  8. --start-maximized:启动时最大化窗口。
  9. --user-data-dir=path:指定用户数据目录,允许在特定目录中保存浏览器数据。
  10. --proxy-server=address:设置代理服务器,格式为 http://proxy-server:port

测试或开发中如果需要处理跨域请求,或者有其他特定的配置需求,应该使用第二个代码段。如果没有特殊需求,第一个代码段更简洁。后面我们主要采用第一个。


OK,以上就是本期知识点“自动化测试入门(selenium)”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值