自动化测试-selenium环境搭建

简介: 自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。

1. 什么是自动化

自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。


自动化测试:使用自动化工具和脚本来执行测试用例,验证软件的正确性和稳定性。自动化测试可以快速执行,并可以重复执行,以降低人工测试的成本和时间。常见的自动化测试工具包括Selenium、Appium、JUnit、PyTest等。


在软件开发、测试和运维等领域,自动化可以帮助提高效率、降低成本、减少人为错误,并能够执行大规模和重复性工作。


2. 自动化测试分类

自动化测试分类分为两种:


1.接口自动化测试

2.UI自动化测试

移动端自动化测试

web端自动化测试

Web端自动化测试是指使用自动化工具和脚本来模拟和执行Web应用程序的用户行为,自动化地验证Web应用程序的功能、性能和用户体验。


在Web端自动化测试中,可以使用各种工具和框架来编写和执行自动化测试脚本。常见的Web端自动化测试工具包括:


1.Selenium:Selenium是最常用的用于Web端自动化测试的工具之一。它支持多种编程语言,如Java、Python、C#等,可以模拟用户在Web浏览器中的交互操作,如点击、输入文本、选择下拉框等。

2.Cypress:Cypress是一个现代化的Web端自动化测试工具,提供简单易用的API和丰富的功能。它能够实时监控和调试测试脚本,具有高效的性能和稳定性。

3.Puppeteer:Puppeteer是一个基于Chrome浏览器的自动化测试工具,它提供了对Chrome浏览器的完全控制。它可以模拟用户的交互行为,生成截图和PDF文件,进行性能分析等。

4.TestCafe:TestCafe是一个跨浏览器自动化测试框架,可以在不同的浏览器中执行自动化测试。它通过浏览器的内置驱动程序来实现自动化,不需要额外的浏览器插件或驱动程序。


3. selenium的环境搭建

为什么众多自动化工具中选择selenium?


1.开源免费

2.支持多浏览器,如:Chrome,IE等

3.支持多系统,如"Linux,Windows,MacOS等"

4.支持多种编程语言

5.selenium包提供了很多可供测试使用的API

本文主要介绍Java环境下selenium的使用


三件套:


JDK(版本至少是8).

浏览器(推荐Chrome或Edge)

浏览器驱动

浏览器驱动下载路径:https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/


以Chrome浏览器为例:


进入页面点击Downloads

f00851d6c8dc4c91ac6b740fed0e5a1f.png

2e557cb58db543088bd3a131d93ac942.png



这里面有很多的版本,此时需要查看我们当前浏览器的版本

eac7ec69e1c7449491170d4b8833201a.png



我的Chrome版本是 114.0.5735.199,下载驱动时就要保证 驱动版本尽量和浏览器版本相对应.


选择对应的系统就可以了,windows系统直接下win32.zip即可

c8b844843fe34fb592853547458f175d.png


下载完成之后,压缩包里有一个 chromedriver.exe


555f596c7e0644efb7223eaa47c4c519.png


需要把这个chromedriver.exe拖到jdk时的bin目录下

8e0c54fd170f4fa5b69fb6e6f095b3b2.png



上述就是Java环境下selenium的环境搭建了


4. 测试selenium

首先打开IDEA,创建Maven项目



e9af607bc0db4fe99fbdab1cf5f2d334.png

在项目中的pom.xml中导入selenium依赖


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

src路径下有两个目录,我们需要在test目录下的java目录中写测试代码


53e83ba97c454c3098ed209d12a192e6.png

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class Demo1 {
    public static void test() throws InterruptedException {
        // 创建驱动
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--remote-allow-origins=*");
        ChromeDriver driver = new ChromeDriver(options);
        Thread.sleep(3000);
        // 访问baidu.com
        driver.get("https://www.bilibili.com/");
        Thread.sleep(3000);
        // 关闭页面,释放资源
        driver.quit();
    }
    public static void main(String[] args) throws InterruptedException {
        test();
    }
}

程序运行结果为: 打开Chrome浏览器,3秒后进入B站,再经过3s后,关闭页面


24aba5d6879b4e61bc28973d873faaa2.png

如果正常运行说明你的环境搭建成功了.


感谢你的观看!希望这篇文章能帮到你!

专栏: 《软件测试》在不断更新中,欢迎订阅!

“愿与君共勉,携手共进!”

50411f54234e45e5b6d9a5552f10b8af.gif

相关文章
|
1天前
|
JavaScript 前端开发 Java
《手把手教你》系列技巧篇(四十九)-java+ selenium自动化测试-隐藏元素定位与操作(详解教程)
【5月更文挑战第13天】本文主要讨论了在Selenium自动化测试中如何处理前端隐藏元素的问题。隐藏元素通常是通过`type="hidden"`或`style="display: none;"`属性实现的,它们在页面上不可见,但仍然存在于HTML代码中。Selenium可以定位到这些隐藏元素,但无法直接进行点击、输入等操作,会报错“ElementNotInteractableException”。
18 3
|
2天前
|
JavaScript 前端开发 测试技术
《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
【5月更文挑战第12天】本文介绍了WebDriver中用于判断元素状态的三个方法:`isEnabled()`、`isSelected()`和`isDisplayed()`。`isSelected()`检查元素是否被选中,通常用于勾选框。`isDisplayed()`则用来判断元素是否在页面上可见。`isEnabled()`方法确定元素是否可操作,例如是否能点击或输入内容。
12 1
|
3天前
|
存储 JavaScript Java
《手把手教你》系列技巧篇(四十七)-java+ selenium自动化测试-判断元素是否显示(详解教程)
【5月更文挑战第11天】WebDriver 的 `isDisplayed()` 方法用于检查页面元素是否可见,如果元素存在于DOM中且可视,返回`true`,否则返回`false`。在自动化测试中,这个方法常用于验证元素是否真正显示在页面上。示例代码展示了如何使用 `isDisplayed()` 判断百度登录页面的特定错误提示文字是否出现。
15 1
|
4天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
16 2
|
6天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
6天前
|
数据采集 机器学习/深度学习 算法框架/工具
利用Python实现基于图像识别的自动化数据采集系统
本文介绍了如何利用Python编程语言结合图像识别技术,构建一个自动化的数据采集系统。通过分析图像内容,实现对特定信息的提取和识别,并将其转化为结构化数据,从而实现高效、准确地采集需要的信息。本文将详细讨论系统的设计思路、技术实现以及应用场景。
|
6天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
19 2
|
6天前
|
存储 BI 数据处理
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
|
4天前
|
数据采集 Java 开发工具
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
|
6天前
|
JSON 监控 调度
局域网管理软件的自动化任务调度:Python 中的 APScheduler 库的应用
使用 Python 的 APScheduler 库可简化局域网管理中的自动化任务调度。APScheduler 是一个轻量级定时任务调度库,支持多种触发方式如间隔、时间、日期和 Cron 表达式。示例代码展示了如何创建每 10 秒执行一次的定时任务。在局域网管理场景中,可以利用 APScheduler 定期监控设备状态,当设备离线时自动提交数据到网站,提升管理效率。
40 0