自动化测试-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月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
97 5
|
1月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
1月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
1月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
236 5
|
1月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
13天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
10 0
|
1月前
|
Web App开发 缓存 Linux
高效Selenium测试技巧:轻松控制已开启的浏览器
【10月更文挑战第13天】在进行Selenium测试时,通常会启动新浏览器实例,但有时需要控制已开启的浏览器,以节省时间并更真实地模拟用户行为。这可通过设置Chrome为可远程控制并使用`Remote WebDriver`连接实现。需在启动Chrome时添加`--remote-debugging-port`参数,并通过Python脚本中的`webdriver.Remote`连接至指定端口。此外,还可利用会话ID(Session ID)重新连接浏览器,提高测试灵活性。需要注意浏览器版本兼容性及元素定位稳定性等问题,确保测试准确性和一致性。
244 1
|
1月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
38 0
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)

热门文章

最新文章