当前位置: 首页 > news >正文

测试开发之自动化篇 —— 使用Selenium IDE录制脚本!

今天,我们开始介绍基于开源Selenium工具的Web网站自动化测试。

Selenium包含了3大组件,分别为:
1. Selenium IDE
基于Chrome和Firefox扩展的集成开发环境,可以录制、回放和导出不同语言的测试脚本。

2. WebDriver
包括一组为不同语言、浏览器提供的类库和驱动,用编程的方式来识别和操作网页及其元素。

3. Selenium Grid
提供主从架构的、分布式测试执行环境,由Hub(主控)和Node(节点)组成。

老版本的Selenium还包括一个已经被废弃的RC组件,它的原理是通过代理的方式向被测试的网页中注入JavaScript代码,完成对页面的操控。当前,RC已被WebDriver组件所替代。大家如在网上看到于此有关的文章,可直接忽略。

使用Selenium IDE录制自动化测试脚本

  1. 首先安装Chrome浏览器,然后从这里安装Selenium IDE插件;
  2. 点击浏览器右上角的扩展图标(类似1个拼图的符号),选择打开Selenium IDE;
  3. 在弹出的窗口中,点击Record a new test in a new project菜单项;
  4. 输入项目名称(如project1),点击确定;
  5. 在BASE URL文本框中,输入百度网址https://www.baidu.com
  6. 点击Start Recording,开始录制脚本;
  7. 在弹出的百度网站窗口中,完成以下操作:
    7.1. 在关键字文本框中,输入禅道
    7.2. 点击搜索按钮;
    7.3. 在搜索结果中,点击第1条的标题。
  8. 切换到录制工具窗口,点击右上角红色图标,停止录制;
  9. 输入脚本名称(如script1),进入以下编辑器窗口:

    image.png

  10. 点击脚本名称(如script1)右侧的更多图标(为纵向排列的3个点),选择Export菜单项;
  11. 此处我们以内嵌Java注释的方式,对脚本做简单的介绍。生成的脚本如下,已忽略其中用于等待窗口的waitForWindow方法和调用。

// 导入Java类库,如selenium、junit等import org.openqa.selenium.WebDriver;// 生成的JUnit测试类public class Test1Test {// 类级别的私有变量private WebDriver driver;private Map<String, Object> vars;JavascriptExecutor js;// 使用JUnit的@Before注解,定义在测试执行前,需执行的初始化行为。@Beforepublic void setUp() {// 初始化WebDriver对象driver = new ChromeDriver();// 初始化JS执行器对象,用于在浏览器中执行Javascript代码。js = (JavascriptExecutor) driver;}// 使用JUnit的@After注解,定义在测试完成后,需执行的清理动作。@Afterpublic void tearDown() {// 退出并清理WebDriver对象driver.quit();}// 使用JUnit的@Test注解,标注此方法为一个测试方法。@Testpublic void test1() {// 打开百度网站首页driver.get("https://www.baidu.com/");// 设置浏览器窗口大小为1440x875driver.manage().window().setSize(new Dimension(1440, 875));// 找到id为kw的(文本框)控件,在里面输入“禅道”。driver.findElement(By.id("kw")).sendKeys("禅道");// 找到id为su的(按钮)控件,并点击。driver.findElement(By.id("su")).click();// 找到指定内容的链接,并点击。driver.findElement(By.ByPartialLinkText("开源项目管理软件")).click();}}

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

测试开发之自动化篇 —— 使用Selenium IDE录制脚本!

今天&#xff0c;我们开始介绍基于开源Selenium工具的Web网站自动化测试。 Selenium包含了3大组件&#xff0c;分别为&#xff1a;1. Selenium IDE 基于Chrome和Firefox扩展的集成开发环境&#xff0c;可以录制、回放和导出不同语言的测试脚本。 2. WebDriver 包括一组为不同…...

Django 外键关联数据

在设计数据库的时候&#xff0c;是得需要通过外键的形式将各个表进行连接。 原先的表是这样的 要想更改成这样&#xff1a; 下面是操作步骤&#xff1a; 有两张表是关联的 # 在 models.py 里创建class Department(models.Model):"""部门表""&quo…...

开源与新质生产力

在这个信息技术迅猛发展的时代&#xff0c;全球范围内的产业都在经历着深刻的变革。在这样的背景下&#xff0c;“新质生产力”的概念引起了广泛的讨论。无论是已经成为或正努力转型成为新质生产力的企业&#xff0c;都在寻求新的增长动力和竞争优势。作为一名长期从事开源领域…...

如何将 Windows图片查看器的背景颜色改成浅色(灰白色)?

现在大家基本都在使用Win10系统&#xff0c;我们在双击查看图片时&#xff0c;系统默认使用系统自带的图片&#xff08;照片&#xff09;查看器去打开图片。图片查看器的背景色默认是黑色的&#xff0c;如下所示&#xff1a;&#xff08;因为大家可能会遇到同样的问题&#xff…...

k8s-pod参数详解

目录 概述创建Pod编写一个简单的Pod添加常用参数为Pod的容器分配资源网络相关Pod健康检查启动探针存活探针就绪探针 作用整个Pod参数配置创建docker-registry 卷挂载 结束 概述 k8s中的pod参数详解。官方文档   版本 k8s 1.27.x 、busybox:stable-musl、nginx:stable-alpine3…...

一些计算机网络面试题

TCP建立连接和关闭连接的流程&#xff1f;每个流程的环节&#xff1f; TCP是在传输层的协议&#xff0c;建立的是可靠传输 TCP在传输数据前建立连接是采用三次握手&#xff0c;关闭连接是四次挥手 三次握手&#xff1a;因为目前网络通讯是全双工的&#xff0c;那我假设浏览器…...

transformer - 注意力机制

Transformer 的注意力机制 Transformer 是一种用于自然语言处理任务的模型架构&#xff0c;依赖于注意力机制来实现高效的序列建模。注意力机制允许模型在处理一个位置的表示时&#xff0c;考虑输入序列中所有其他位置的信息&#xff0c;而不仅仅是前面的几个位置。这种机制能…...

三端植物大战僵尸杂交版来了

Hi&#xff0c;好久不见&#xff0c;最近植物大战僵尸杂交版蛮火的 那今天苏音整理给大家三端的植物大战僵尸杂交版包括【苹果端、电脑端、安卓端】 想要下载的直接划到最下方即可下载。 植物大战僵尸&#xff0c;作为一款古老的单机游戏&#xff0c;近期随着B站一位UP主潜艇…...

np.hstack()和np.vstack()函数解释

np.hstack()和np.vstack()函数解释 文章目录 1&#xff0c;np.hstack()1.1&#xff0c;代码1.2&#xff0c;结果 2&#xff0c;np.vstack()2.1&#xff0c;代码2.2&#xff0c;结果 3&#xff0c;np.hstack()和np.vstack()3.1&#xff0c;代码3.2&#xff0c;结果 1&#xff0c…...

【Linux】进程5——进程优先级

1.进程优先级 1.1.什么是进程优先级 cpu资源分配的先后顺序&#xff0c;就是指进程的优先权&#xff08;priority&#xff09;。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用&#xff0c;可以改善系统性能。还可以把进程运行到指定的CPU上&#x…...

CNN简介与实现

CNN简介与实现 导语整体结构卷积层卷积填充步幅三维卷积立体化批处理 实现 池化层特点实现 CNN实现可视化总结参考文献 导语 CNN全称卷积神经网络&#xff0c;可谓声名远扬&#xff0c;被用于生活中的各个领域&#xff0c;也是最好理解的神经网络结构之一。 整体结构 相较于…...

【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构

目录​​​​​​​ 一、引言 二、自动模型类&#xff08;AutoModel&#xff09; 2.1 概述 2.2 Model Head&#xff08;模型头&#xff09; 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库&#xff0c;为huggingface上数以万计的预…...

Hadoop yixing(移行),新增表字段,删除表字段,修改存储格式

Hadoop yixing(移行)&#xff0c;新增表字段&#xff0c;删除表字段&#xff0c;修改存储格式 一、hadoop中修改存储格式&#xff0c;比如从 textfile 转化为 orc 格式&#xff0c;表中的数据的组织形式要重新改变&#xff0c;就要将重新创建新格式的表将原来的数据按照新的格…...

使用汇编和proteus实现仿真数码管显示电路

proteus介绍&#xff1a; proteus是一个十分便捷的用于电路仿真的软件&#xff0c;可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域&#xff0c;使用代码实现电路功能的仿真。 汇编语言介绍&#xff1a; 百度百科介绍如下&#xff1a; 汇编语言是培养…...

【Unity】官方文档学习-光照系统

目录 1 前言 2 光照介绍 2.1 直接光与间接光 2.2 实时光照与烘焙光照 2.3 全局光照 3 光源 3.1 Directional Light 3.1.1 Color 3.1.2 Mode 3.1.3 Intensity 3.1.4 Indirect Multiplier 3.1.5 Shadow Type 3.1.6 Baked Shadow Angle 3.1.7 Realtime Shadows 3.1…...

1731. 每位经理的下属员工数量

1731. 每位经理的下属员工数量 题目链接&#xff1a;1731. 每位经理的下属员工数量 代码如下&#xff1a; # Write your MySQL query statement below select a.employee_id as employee_id,a.name as name,count(b.employee_id) as reports_count,round(avg(b.age),0) as av…...

特征筛选LASSO回归封装好的代码、数据集和结果

Gitee仓库地址&#xff1a;特征筛选LASSO回归封装好的代码、数据集和结果 README LassoFeatureSelector_main 这个是主函数文件&#xff0c;在实例化LassoFeatureSelector类时&#xff0c;需要传入下面这些参数&#xff1a; input_train_data_path&#xff1a;输入训练集的路…...

Autosar 通讯栈配置-手动配置PDU及Signal-基于ETAS软件

文章目录 前言System配置ISignalSystem SignalPduFrameISignal到System Signal的mapSystem Signal到Pdu的mapPdu到Frame的mapSignal配置Can配置CanHwFilterEcuC配置PduR配置CanIf配置CanIfInitCfgCanIfRxPduCfgCom配置ComIPduComISignalSWC配置Data mappingRTE接口Com配置补充总…...

Web前端工资调整:深入剖析与全面解读

Web前端工资调整&#xff1a;深入剖析与全面解读 在快速发展的互联网行业中&#xff0c;Web前端技术日新月异&#xff0c;而与之紧密相关的工资调整也成为了业内热议的话题。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析Web前端工资调整的原因、趋势、…...

cesium已知两个点 写一个简单具有动画尾迹效果的抛物线

// 定义起点和终点的经纬度和高度 var start { longitude: 111.09683723811149, latitude: 38.92112250636146, elevation: 603.5831692856873 }; var end { longitude: 111.09769465526689, latitude: 38.92815375977821, elevation: 627.0132157062261 }; // 生成更多的中…...

clawdocker:基于Shell脚本的Docker实例管理器,简化OpenClaw多实例部署

1. 项目概述与核心价值 如果你正在折腾OpenClaw&#xff0c;或者任何需要部署多个独立实例的Docker化应用&#xff0c;那么你大概率经历过这样的场景&#xff1a;每次新建一个实例&#xff0c;都要手动执行一长串的 docker run 命令&#xff0c;记住各种端口映射、卷挂载和环…...

Vinkius Cloud扩展:在IDE中无缝管理MCP AI网关运行时

1. 项目概述&#xff1a;在IDE中管理你的AI网关运行时如果你正在开发或使用基于MCP&#xff08;Model Context Protocol&#xff09;的AI应用&#xff0c;那么你很可能已经体会过在多个AI客户端&#xff08;比如Cursor、Claude Desktop、Windsurf&#xff09;之间管理和维护后端…...

Apache Weex内存泄漏终极解决方案:7个技巧让应用性能飙升

Apache Weex内存泄漏终极解决方案&#xff1a;7个技巧让应用性能飙升 【免费下载链接】incubator-weex Apache Weex (Incubating) 项目地址: https://gitcode.com/gh_mirrors/in/incubator-weex Apache Weex作为一款高性能的跨平台移动开发框架&#xff0c;在带来便捷开…...

终极NDS游戏资源编辑器Tinke:免费开源工具轻松提取和修改任天堂DS游戏文件

终极NDS游戏资源编辑器Tinke&#xff1a;免费开源工具轻松提取和修改任天堂DS游戏文件 【免费下载链接】tinke Viewer and editor for files of NDS games 项目地址: https://gitcode.com/gh_mirrors/ti/tinke 你是否曾经好奇任天堂DS游戏内部包含了哪些精美的图像、动听…...

终极网盘直链下载助手完整指南:免费解锁八大平台高速下载

终极网盘直链下载助手完整指南&#xff1a;免费解锁八大平台高速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

华为会议转任务AI精准识别整理,省事更清晰,轻松搞定工作落地

"找2026华为会议转任务AI的朋友&#xff0c;你要的精准识别整理、落地工作的真实测评来了。不管你是做学术研究要整访谈、转讲座&#xff0c;还是开会长音频要扒任务&#xff0c;我测了大半个月&#xff0c;直接给你掏实底。我接触太多做学术的朋友&#xff0c;都踩过AI转…...

中国地址生成器:快速生成真实地址数据的开发者利器

中国地址生成器&#xff1a;快速生成真实地址数据的开发者利器 【免费下载链接】chinese-address-generator 中国地址生成器 - 三级地址 四级地址 随机生成完整地址 项目地址: https://gitcode.com/gh_mirrors/ch/chinese-address-generator 在开发测试、数据填充、表单…...

3PEAK思瑞浦 TPA3532-SO1R SOP8 运算放大器

特性 超低输入偏置电流:-在TA25C时最大土1pA(实验室测试限值)-在-40C至125C(实验室测试限值)下&#xff0c;最大土30皮安 低输入失调电压:250V(最大值)集成保护缓冲器&#xff0c;最大偏移电压200V低电压噪声密度:18nV/Hz(在1kHz时). 宽带宽:2.1MHz 供电电压:4.5V至16V(2.25V至…...

边缘计算中的机器学习能效优化与混合架构实践

1. 边缘计算中的机器学习能效革命在智能手表、健康监测设备等穿戴式设备中&#xff0c;实时运行机器学习模型一直是个棘手的问题。传统方案要么耗电太快导致续航崩溃&#xff0c;要么精度太低失去实用价值。我们团队最近实验的一组数据很能说明问题&#xff1a;在常见的运动识别…...

基于开关电容器的级联多电平逆变器,使用布尔PWM控制技术研究(Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...