Selenium 自动化 —— Selenium IDE录制、回放、导出Java源码

Selenium IDE的使用方法 Selenium介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。Selenium家庭成员有三个,分别是Selenium WebDriver、Selenium IDE和Selenium Grid,这篇博客主要介绍Selenium IDE的使用方法。Selenium官网地址 Selenium IDE介绍 Selenium IDE是Chrome和FireFox浏览器中的插件,Selenium IDE结合浏览器提供脚本录制、脚本回放、脚本 阅读详情
AI摘要

本文介绍了如何使用SeleniumIDE进行百度搜索的Helloworld示例,包括设置Chrome驱动、编写和回放脚本,以及如何将录制的脚本转换为Java代码。作者强调了SeleniumIDE作为无需编程基础的自动化测试工具,适合初学者和简化复杂的测试场景。

Hello Selenium 示例

之前我们在专栏的第一篇文章中演示了使用使用Selenium进行百度搜索的Hello world示例。
在这里插入图片描述

代码不复杂非常简单:

public static void main(String[] args) {
        WebDriver driver = null;
        try {
            // 设置Chrome驱动的路径
//            System.setProperty("webdriver.chrome.driver", "C:\\Softwares\\webdriver\\chromedriver-122\\chromedriver.exe");
            // 设置Chrome驱动程序版本
            WebDriverManager.chromedriver().setup();
            // 创建WebDriver对象
            driver = new ChromeDriver();
            // 打开百度网站
            driver.get("https://www.baidu.com");
            // 找到搜索输入框
            WebElement searchBox = driver.findElement(By.name("wd"));
            // 在搜索输入框中输入关键字
            searchBox.sendKeys("Hello World");
            // 提交搜索表单
            searchBox.submit();
            // 输出页面标题
            System.out.println("Page title is: " + driver.getTitle());
        } finally {
            // 关闭浏览器
            if(driver != null){
                driver.quit();
            }
        }
    }

但是对不懂HTML、CSS和Selenium API的同学,可能要编写一个完整的可运行的Selenium程序还是有一点点难度。

熟悉CSS和花了一点的时间看了我后续Selenium 系列教程的除外哈。

那么,有没有那种傻瓜式的开发Selenium的工具呢?
就像Visual Studio 可视化开发MFC程序一样,可视化拖拽开发

在这里插入图片描述

幸运的是,还真有!这就是Selenium大家族提供的Selenium IDE。

什么是Selenium IDE

我们通常说的用来做自动化测试或爬虫的Selenium,其实不是一个单独的工具。

有点像 Spring 是一整套工具框架一样。

Selenium不仅仅是一个工具,而是一套软件,每个软件都有不同的方法来支持自动化测试。它由四个主要部分组成,包括:

  1. Selenium IDE:就是我们今天介绍的部分
  2. Selenium RC:允许测试人员用任何支持的编程语言编写自动化的web应用程序UI测试,注意已被Selenium正式弃用。
  3. WebDriver:前面我们已经简单介绍过了。
  4. Selenium Grid:也是Selenium Suite的一个重要组件,它允许我们在不同的机器上针对不同的浏览器并行运行测试。简而言之,我们可以在运行不同浏览器和操作系统的不同机器上同时运行我们的测试。后续我们会介绍。
    在这里插入图片描述

今天我们着重介绍Selenium IDE。
Selenium IDE (集成开发环境)是 Selenium 套件下的开源 web 自动化测试工具。不像 Selenium WebDriver 和 Selenium RC,它不需要任何编程逻辑来编写它的测试脚本,而是可以简单地记录与浏览器的交互来创建测试用例。随后,可以使用回放选项来重新运行测试用例。

Selenium IDE 不是个单独的应用程序,而是作为 Firefox 和 Chrome 插件使用,这意味着我们不能在Firefox和Chrome以外的浏览器上使用。

记录的测试脚本也可以导出为编程语言,如c#、Java、Ruby或Python。
在这里插入图片描述

Selenium IDE安装

我们演示在Chrome中的安装

  1. 打开Chrome应用商城
    在这里插入图片描述
  2. 在商场中搜索Selenium IDE
    在这里插入图片描述
  3. 添加扩展程序
    在这里插入图片描述
  4. 右上角就点击打开Selenium IDE
    在这里插入图片描述
  5. 打开了Selenium IDE的窗口
    在这里插入图片描述
    这样我们就安装成功了

使用 Selenium IDE 录制脚本

接下来,我们使用Selenium IDE 录制一个百度搜索的例子。

  1. 打开Selenium IDE
    在这里插入图片描述

  2. 点击在新项目中记录新测试
    在这里插入图片描述

  3. 为项目命名
    在这里插入图片描述

  4. 输入我们要访问的URL
    在这里插入图片描述

  5. 点击开始录制,Chrome浏览器打开了一个新的窗口,进入了百度首页
    在这里插入图片描述

  6. 输入Hello World
    在这里插入图片描述

  7. 点击第一个展示的百度百科
    在这里插入图片描述

  8. 点击Selenium IDE右上角的红色终止按钮
    在这里插入图片描述

  9. 保存这个测试用例
    在这里插入图片描述

  10. 可以看到Command中把我们在录制期间的所有操作都记录下来了
    在这里插入图片描述

  11. 保存项目
    在这里插入图片描述

使用 Selenium IDE 回放脚本

前面我们录制了脚本,我们可以打开项目,回放之前的操作。

  1. 打开Selenium IDE插件
    在这里插入图片描述

  2. 打开一个存在的项目,也就是我们前面保存的工程
    在这里插入图片描述

  3. 点击按钮运行当前测试
    在这里插入图片描述

  4. 可以看到之前录制的所有操作都被自动执行了

    • 新打开了一个浏览器窗口
    • 打开百度首页
    • 搜索框输入Hello World
    • 点击搜索按钮,进入结果页面
    • 点击第一个百度百科词条
    • 进入百度百科页面

就是这么简单,所有都是自动完成的!
在这里插入图片描述

使用 Selenium IDE 转换成 Java 代码

再来一点更强大的,把录制的工程转换成 Java 源码。

  1. 打开前面的工程
  2. 在测试用例上点击设置图标
    在这里插入图片描述
  3. 选择导出
    在这里插入图片描述
  4. 选择导出为Java Junit
    在这里插入图片描述
  5. 于是我们得到了Java源码
// Generated by Selenium IDE
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.core.IsNot.not;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Alert;
import org.openqa.selenium.Keys;
import java.util.*;
import java.net.MalformedURLException;
import java.net.URL;
public class HelloideTest {
  private WebDriver driver;
  private Map<String, Object> vars;
  JavascriptExecutor js;
  @Before
  public void setUp() {
    driver = new ChromeDriver();
    js = (JavascriptExecutor) driver;
    vars = new HashMap<String, Object>();
  }
  @After
  public void tearDown() {
    driver.quit();
  }
  public String waitForWindow(int timeout) {
    try {
      Thread.sleep(timeout);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    Set<String> whNow = driver.getWindowHandles();
    Set<String> whThen = (Set<String>) vars.get("window_handles");
    if (whNow.size() > whThen.size()) {
      whNow.removeAll(whThen);
    }
    return whNow.iterator().next();
  }
  @Test
  public void helloide() {
    driver.get("https://www.baidu.com/");
    driver.manage().window().setSize(new Dimension(1127, 652));
    driver.findElement(By.id("kw")).click();
    driver.findElement(By.id("kw")).sendKeys("Hello world");
    driver.findElement(By.id("kw")).sendKeys(Keys.ENTER);
    vars.put("window_handles", driver.getWindowHandles());
    driver.findElement(By.cssSelector(".\\_aladdin_zc167_1 > .t span > span")).click();
    vars.put("win2836", waitForWindow(2000));
    driver.switchTo().window(vars.get("win2836").toString());
  }
}
  1. 把上面的代码复制到IDEA中去
  2. 引入相关的依赖
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.13.2</version>
	<scope>test</scope>
</dependency>
<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-java</artifactId>
	<version>3.141.59</version>
</dependency>
  1. 自动生成的代码,还需要加入一行,配置 webdriver。
@Before
public void setUp() {
    System.setProperty("webdriver.chrome.driver", "C:\\Softwares\\webdriver\\chromedriver-122\\chromedriver.exe");

    driver = new ChromeDriver();
    js = (JavascriptExecutor) driver;
    vars = new HashMap<String, Object>();
}
  1. 运行测试类
    我们可以看到,自动打开了浏览器窗口,操作和我们录制和回放一模一样!

总结

到这里我们成功演示了Selenium 导出Java代码。观察一下自动生成的最核心的代码,和我们在Hello World示例中的代码没什么区别。

不过,如果再负责的需求场景下,比如解析页面拿到特定的元素内容,或者动态的交互,我们还是需要调用Selenium WebDriver 提供的API来实现!

接下来的章节,我们会重点学习这些API。关注我的 优快云 Postnull的Selenium 专栏,和我一起系统学习Selenium 自动化实现更多有趣的功能。

Selenium IDE 问题:录制项目1,项目1录制失败,当前窗口创建新项目,无法输入项目名称、地址。解决方法:关掉浏览器,重新运行插件。运行录制脚本,弹出新弹框时,被拦截。 阅读详情

相关推荐

测试开发之自动化篇 —— 使用Selenium IDE录制脚本!_selenium 开源测试(1)

【代码】测试开发之自动化篇 —— 使用Selenium IDE录制脚本!_selenium 开源测试(1)

2401_84562659的博客 426

Selenium 的组件神器Selenium IDE

前段时间介绍过UI自动化后起之秀的playwright录制脚本,那么作为UI自动化的前辈的Selenium肯定也应该具有录制脚本的功能,今天它来了就是Selenium的三大组件之一的Selenium IDE。步骤 1: 使用 Selenium IDE 录制测试安装 Selenium IDE:首先,需要在你的浏览器上安装 Selenium IDE。对于 Chrome 或 Firefox,可以从相应的...

m0_72418211的博客 3576

基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。Selenium WebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。

crhnb的博客 2122

Selenium IDE脚本录制的使用

Selenium IDE,全称Selenium Integrated Development Environment,是一个用于Web应用程序测试的开源自动化测试工具。它是Selenium项目的一部分,最初由ThoughtWorks开发,并且是一种基于浏览器的录制回放工具。Selenium IDE提供了一个简单易用的界面,允许用户通过录制和回放操作来创建和执行自动化测试脚本。它支持多种浏览器,包括Chrome、Firefox和Safari等,可以在这些浏览器上进行测试。

m0_58358680的博客 4219

【Selenium IDE录制脚本】三分钟教会你Selenium IDE的安装及使用

怎么安装Selenium IDE,如何进行脚本录制,三分钟轻松学会~~~

LYJbao的博客 1771

RK3576处理器RT-Thread与Linux混合部署实现工业EtherCAT实时控制

实时操作系统(RTOS)是工业自动化领域的核心技术,通过精确的任务调度和中断响应机制确保微秒级控制精度。RT-Thread作为开源实时系统,采用优先级抢占式调度算法,能够满足运动控制和总线通信的硬实时需求。在工业显控一体设备中,实时系统需要与富应用系统协同工作,Linux系统负责图形界面和网络通信等非实时任务。混合部署架构通过共享内存和核间通信技术实现数据交换,既保证了实时性能又扩展了应用生态。EtherCAT工业以太网协议作为高性能现场总线,采用主从站结构和分布式时钟同步,可实现多轴运动控制的精确同步。R

weixin_33738982的博客 2627

Selenium IDE:零代码实现Web自动化测试的终极指南

对于想要进入Web自动化测试领域的新手来说,最大的障碍往往是编程技能的门槛。Selenium IDE正是为解决这一痛点而生——它是一款开源的Web自动化测试工具,通过直观的录制与回放功能,让任何人都能轻松创建和执行自动化测试脚本,无需编写任何代码。 ## 为什么选择Selenium IDE作为你的第一个自动化测试工具? **零编程基础要求**是Selenium IDE最吸引人的特点。传统的自动

gitblog_01074的博客 1064

使用 ONLYOFFICE API 构建 Java 转换器,在 Word 和 PDF 之间进行转换

随着文档处理需求的增加,格式转换成为了一个重要的需求点。由于PDF格式具有跨平台、不易被篡改的特性,将Word格式(.docx)转换为PDF格式(.pdf)的需求尤为强烈。ONLYOFFICE作为一个强大的办公套件,提供了这样的转换功能,使得用户可以轻松地在Word和PDF之间进行转换。

ONLYOFFICE的官方博客 4567

selenium ide 安装及操作

首先作为刚接触selenium的同学,先从录制开始看看到底是个什么东西?巧妇难做无米之炊: 第一步安装selenium ide适用于firefox. 坑:本人的firefox 55以上不能安装 而且firebug firepath也不能下载 这里我下载的的是firefox 40.0 所有历史版本下载地址:http://ftp.mozilla.org/pub/firefox/r

qq_35667287的博客 9403

Python 逆向解析知乎盐选反爬字体,实现内容精准还原

本文详细解析了知乎盐选内容的反爬字体机制,并提供了使用Python逆向解析WOFF字体文件的完整方案。通过fontTools库构建解码字典,实现乱码文本的精准还原,帮助开发者应对动态字体策略,同时强调法律与道德风险。

weixin_29268385的博客 1295

S32K314 EB配置MCAL全模块讲解【Autosar——1 MCU模块详解】持续更新中

FIRC(fast internal RC Oscillator) :高速内部时钟,固定48MHZ;SIRC(Slow Internal RC Oscillator):低速内部时钟,固定32KHZ;FXOSC(Fast Crystal Oscillator Digital Controller):高速外部晶振(8-40MHZ),根据原理图选型进行配置;SXOSC():外部低速外部时钟,固定输入32.768KHZ;PLL_PHIn_CLK:时钟倍频锁相环时钟范围(640-1280MHZ);

qq_40488886的博客 1779

自动化测试之 selenium 的安装以及 selenium IDE 录制自动化脚本的用法_selenium录制app

Selenium IDE 一个用于 Selenium 测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。启动浏览器后,将浏览器绑定到一个特定的端口,启动后的浏览器则作为 Webdriver 的 remote server(远程服务器)录制的测试脚本可以以多种语言导出,比如 java,C#,Python,Ruby等,方便掌握不同语言的测试人 员操作。对系统的界面元素进行操作,用脚本实现模拟用户的使用,完成功能的正常和异常测试。适合的项目: 适合界面元素变动比较小的项目。

2301_76224223的博客 663

删除win10电脑U盘使用记录

手工删除:和查看的方法类似,分三步,缺一不可,顺序也不能反! 第一步 设置环境变量,变量名为“devmgr_show_nonpresent_devices”,值为“1”。 第二步 打开设备管理器,勾上“查看”菜单中的“显示隐藏设备”。如果之前已经打开设备管理器,则要关了,重新打开。 第三步 清除“磁盘驱动器”、“存储卷”、“通用串行总线控制器”3个栏目下所有的灰色的图标,注意是所有!右键点击灰色图标,然后选择“卸载”。 成功 :结果USBSTOR 没有了 ...

qq_40544338的博客 2万+

终极Selenium IDE开源项目安装与使用指南:从入门到精通

Selenium IDE是一款强大的开源Web测试自动化工具,它提供了直观的录制和回放功能,帮助开发者和测试人员轻松创建和执行自动化测试脚本。本文将详细介绍如何安装和使用Selenium IDE,让你快速掌握这款工具的核心功能。 [![Selenium IDE介绍图](https://raw.gitcode.com/gh_mirrors/se/selenium-ide/raw/6941e8171

gitblog_00754的博客 457

Wio-LR1121多频段LoRa模块技术解析与应用实践

LoRa技术作为低功耗广域物联网(LPWAN)的核心通信方案,通过独特的扩频调制技术实现远距离传输与强抗干扰能力。其工作原理基于CSS(Chirp Spread Spectrum)调制,支持动态调整扩频因子(SF)和带宽(BW)来平衡传输距离与数据速率。Wio-LR1121模块作为Semtech LR1121芯片的载体,创新性地整合了sub-GHz、S-Band和2.4GHz多频段支持,配合仅1.35μA的睡眠电流,为跨境物联网部署提供了硬件基础。在智慧农业、工业监测等场景中,开发者可通过SPI接口快速集成

weixin_33742618的博客 415

PCL RANSAC拟合分割多条直线【2026最新版】

使用RANSAC算法拟合分割多条直线,输出每一条直线的拟合参数到控制台,并保存直线点云到本地文件夹。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 7974

基于Selenium WebDriver和Katalon Recorder进行脚本的录制、编辑、回放的Web应用功能测试(示例)

基于Selenium WebDriver和Katalon Recorder进行脚本的录制、编辑、回放的Web应用功能测试(示例-安居客网站),主要是可视化界面上的操作

weixin_61964996的博客 2280

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4735

Selenium+Java 环境搭建

Selenium 是 web 应用中基于,支持多平台、多浏览器、多语言。早期的 selenium RC 已经被现在的 webDriver 所替代,可以简单的理解为selenium1.0+webdriver 构成 现在的 Selenium2.0。现在我们说起 selenium ,一般指的是Selenium2.0。它由 Selenium IDE , Webdriver,Selenium Grid 组成。分别做一下介绍:1,

q322359的博客 1827

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

selenium实现UI自动化

selenium是支持web浏览器自动化的一系列工具和库的综合项目。具有支持linux、windows等多个平台,支持Firefox、chrome等多种主流浏览器;支持Java、Python等多种语言。

chuntingting的博客 851

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Selenium的Web自动化测试(送源码)

8.1 Selenium自动化测试准备1.Selenium介绍Selenium是一个Web开源自动化测试框架,页面级操作,模拟用户真实操作,API从系统层面触发事件。Selenium ...

zouhui1003it的专栏 1374

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

selenium自动化的使用

什么是Selenium-IDE? Selenium的IDE(集成开发环境)是一个易于使用的Firefox插件,用于开发Selenium测试案例。它提供了一个图形用户界面,用于记录使用Firefox浏览器,用来学习和使用Selenium用户操作,但它只能用于只用Firefox浏览器不支持其它浏览器, 2.IDE功能简介 1.文件:创建、打开和保存测试案例和测试案例集。编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令。Options : 用于设置seleniunm IDE。 2.用来填写被测网站的地址。

qq_44916369的博客 294

自动化测试工具selenium 之Selenium-IDE

前言Selenium-IDE 是用来开发Selenium的测试用例的工具,它是一个易于使用的Firefox插件而且是开发测试用例最有效的方法安装使用firefox,可以从以下地址安装 downloads page。点击  Download 之后, 出现点击 "Install Now", 一直next.安装完成之后, 重启firefox.打开IDE安装完成后,在firefox  的 “工具” 菜单就

oscar999的专栏 1万+

Selenium IDE录制导出Java代码:Web自动化测试快速入门与优化实践

Web自动化测试是提升软件质量和开发效率的关键技术,其核心原理是通过程序模拟用户操作浏览器,实现业务流程的自动验证。Selenium WebDriver作为行业标准工具,提供了跨浏览器、跨平台的控制能力,但手动编写测试代码对初学者门槛较高。Selenium IDE通过可视化录制与回放功能,显著降低了自动化脚本的创建难度,并能直接导出Java等主流语言的源码,为快速构建测试原型提供了高效路径。在实际工程中,导出的基础代码需结合隐式等待、显式等待等同步机制进行优化,并融入Page Object设计模式以提升可维

weixin_42635064的博客 274

一文教你基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。SeleniumWebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。

kk_lzvvkpj的博客 1590
上一篇: Selenium 自动化 —— 使用WebDriverManager自动下载驱动
下一篇: Selenium 自动化 —— 浏览器窗口操作
postnull咖啡
博客等级 码龄10年 1026粉丝 59原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值