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

发布于:2024-09-18 ⋅ 阅读:(138) ⋅ 点赞:(0)

📖 前言:本文介绍了自动化测试的基础知识,重点讲解了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 对象,用于设置 Chrome 浏览器的启动选项
        ChromeOptions options = new ChromeOptions();
        // 添加启动参数以允许来自所有源的远程访问,通常用于解决跨域问题
        options.addArguments("--remote-allow-origins=*");
        // 使用指定的启动选项创建一个新的 ChromeDriver 实例
        WebDriver webDriver = new ChromeDriver(options);
        // 使用 webDriver 实例访问百度首页
        webDriver.get("https://www.baidu.com");
    }
}

在这里插入图片描述

在这里插入图片描述

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


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

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


网站公告

今日签到

点亮在社区的每一天
去签到