📖 前言:本文介绍了自动化测试的基础知识,重点讲解了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 编写代码运行
importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;publicclassMain{publicstaticvoidmain(String[] args){// ChromeOptions options = new ChromeOptions();// options.addArguments("--remote-allow-origins=*");// WebDriver webDriver = new ChromeDriver(options);WebDriver webDriver =newChromeDriver();// 使用 webDriver 实例访问百度首页
webDriver.get("https://www.baidu.com");}}
运行代码后自动跳出百度界面,则表明配置成功。
关于驱动的创建
// 默认配置WebDriver webDriver =newChromeDriver();
// 参数配置// 创建一个 ChromeOptions 对象,用于设置 Chrome 浏览器的启动选项ChromeOptions options =newChromeOptions();// 添加启动参数以允许来自所有源的远程访问,通常用于解决跨域问题
options.addArguments("--remote-allow-origins=*");// 使用指定的启动选项创建一个新的 ChromeDriver 实例WebDriver webDriver =newChromeDriver(options);
常见参数:
--headless
:以无头模式运行 Chrome,即不显示用户界面,适合在服务器上运行自动化脚本。--disable-gpu
:禁用 GPU 硬件加速。常与无头模式一起使用。--window-size=width,height
:设置浏览器窗口的初始大小。例如:--window-size=1920,1080
。--incognito
:启动 Chrome 的隐身模式。--remote-allow-origins=*
:允许来自任何来源的远程连接,解决某些跨域请求问题。--no-sandbox
:禁用沙盒模式。适合某些环境(如 CI/CD)下运行,但在安全性上有所妥协。--disable-dev-shm-usage
:禁用/dev/shm
的使用,适合 Docker 容器中运行。--start-maximized
:启动时最大化窗口。--user-data-dir=path
:指定用户数据目录,允许在特定目录中保存浏览器数据。--proxy-server=address
:设置代理服务器,格式为http://proxy-server:port
。
测试或开发中如果需要处理跨域请求,或者有其他特定的配置需求,应该使用第二个代码段。如果没有特殊需求,第一个代码段更简洁。后面我们主要采用第一个。
OK,以上就是本期知识点“自动化测试入门(selenium)”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页
版权归原作者 HinsCoder 所有, 如有侵权,请联系我们删除。