selenium自动化测试框架简介

news2024/9/21 2:35:34


工欲善其事必先利其器,对于自动化测试也是同样的道理。进入自动化测试之前,怎么能不了解我们都有哪些框架、工具,又有哪些是主流的呢?
1. 行业自动化测试框集
对于大多数同学来说,并不需要全面了解自动化测试工具都有哪些,来看看现在主流的测试工具有哪些就行了。如下,给大家列出来:

UFT: 惠普提供的UFT,毫无疑问是现在商业界排第一的了。它的前身叫做QTP,升级了之后,对BS、CS,包括接口测试的支持性都非常好,也做了很好的扩展。但最近两年,UFT的势头有所减弱。
Selenium: Selenium最近几年趋势越来越火。因为大家都追求开源,而Selenium刚好满足开源的情况。它是一个基于BS测试工具,可以支持多浏览器IE、Chrome、Firefox,也可以跟多语言结合起来做。
RF,Robot Framework: 当有了RF之后,好多同学就不再使用UFT了,相应的,有些公司替换UFT到Robot fromework了,或者Watir等。
Watir:Watir也是一款非常优秀的自动化测试工具,这个工具通过Ruby语言开发,同属于开源阵列,免费使用。具有简单友好的API调用,但并不热门,社区论坛等不够活跃,遇到问题很难询问获得解答。
以上是目前自动化测试工具里边影响力比较大的,随着开源趋势越来越火,Selenium也逐渐成为了一个很好的自动化测试工具。目前,已经有很多团队在使用,其中也包括我们的团队。
当然,并非局限一种自动化测试工具,可以将多个工具结合起来,发挥每个测试工具的优势,例如,使用Selenium来做B/S测试,UFT来做C/S测试。

2. Selenium自动化测试框架

再来深入看看Selenium工具,Selenium是现在开源框架里一个常用的UI自动化测试框架。如果把QTP(Mercury)比作有毒的汞,那么,Selenium就可以看做是硒了,是专门对付这种“有毒"工具的克星!
为什么我们没有使用QTP,这与它的商业收费性质有巨大的关系。在05到07年之间,惠普收购了Micro QTP,成为了商业版本上收费的一个巨头。
Selenium都有什么特定呢,总结如下:

  • 开源,免费
  • 多浏览器支持:Firefox、Chrome、IE
  • 多平台支持:Linux、Windows、Mac
  • 多语言支持:Java、Python、Ruby、Php、C#
  • 对Web页面支持友好
  • API简单,调用灵活,开发语言驱动
  • 支持分布式测试用例的执行

Selenium自动化测试框架,对Web(Html)页面支持比较良好。在Web自动化测试方面,相比于基于对象识别的UFT,它则是一个基于元素的识别框架。虽然功能、使用上差不多,但个人觉得Selenium更加友好:简单的API调用,多开发语言的支持,甚至,支持分布式自动化测试用例的执行!
2.1 Selenium的版本发展
Selenium已经经过了三个版本的迭代。分别是1.0版本、2.0版本,以及现在的3.0版本。
1.0 版本由三大组件构成:IDE、Grid、以及Selenium RC。来看看Selenium 1.0家谱:

IDE就是常用的可视化集成开发工具,用于录制,回放自动化测试用例。
Grid就是分布式,是Selenium支持分布式的关键模块。能够对不同的软件,采取分布式方式运行,在同一时间段运行不同的脚本,对BS结构服务器进行测试,以及支持多台机器上并行运行。
RC就是它的核心库,全称Remote Control。这里边有各种客户端库,Server。这里有各种协议,应用开发人员可以使用自己喜欢编程语言,针对不同的浏览器进行操作。
2.2 Selenium 主流版本
Selenium 2.0,也是现在的主流版本,在原有的版本上进行了功能丰富,添加了WebDriver。

可以说,Selenium 1.0 + WebDriver就是我们的2.0版本了,也就是WebDriver代替了1.0中的Selenium RC。其实早期Selenium RC的灵活性并不太好,之后又研发了web driver,最终合到了一起,替代了Selenium RC。
2.0的版本已经比较成熟、稳定,3.0的版更多的是进行了功能的优化,与扩展:

  • 最大的变化就在于去掉了Selenium RC
  • 只支持Java8 及以上
  • 可以支持FireFox47及以上版本(需要单独下载geckodriver,并配置path)

从版本迭代来看,3.0和2.0的差别、用法并不太大,掌握2.0后,切到3.0也是较容易的。

最后

基于Selenium的自动化测试在实践中应用较多,知识点儿也很多,那么,如何学习Selenium呢?现在网上有非常多的课程,但并不是所有的都是大家需要的。个人建议,大家把重点放在Web Driver上,选择一门开发语言,例如Python等,在实践中不断掌握基于Selenium的自动化测试!

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

      视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1398750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据导论(3)---大数据技术

文章目录 1. 大数据技术概述2. 数据采集与预处理2.1 数据采集2.2 预处理 3. 数据存储和管理3.1 分布式基础架构Hadoop3.2 分布式文件系统HDFS3.3 分布式数据库HBase3.4 非关系型数据库NoSQL 4. 数据可视化与保护 1. 大数据技术概述 大数据技术主要包括数据采集与预处理、数据存…

Linux指令(四)

1.more指令 我们知道cat指令是用来读取文本文件的,但是如果是大文件,其实是不适合cat读取的,原因是:cat读取会直接到文本的结尾,所以我们引入:more指令 该指令不会将文件直接读到结尾,而是将最…

GZ036 区块链技术应用赛项赛题第3套

2023年全国职业院校技能大赛 高职组 “区块链技术应用” 赛项赛卷(3卷) 任 务 书 参赛队编号: 背景描述 新能源作为新兴领域,产业呈现碎片化与复杂化的特性,逐渐出现管理困难、供应链金融、可信监管与数…

在IDEA上运行成功,打包成jar包后,运行报错,程序自动退出

原因 java环境不正确,很有可能安装了多个环境,导致程序加载了错误程序。 解决办法 尝试修改环境变量,如果不行,建议删除掉多余的java环境。 注意:删除掉多余的Java环境需要用程序删除,直接删除文件&#xf…

史上最全软件测试面试题(含答案),进大厂涨薪必备

本试题分三部分,第一部分,基础面试题及答案,第二部分,高级进阶;第三部分,测试开发相关面试题,本篇为第一部分。 加粗样式建议,收藏后阅读,篇幅很长。 1、你的测试职业发…

用LED数码显示器循环显示数字0~9

#include<reg51.h> // 包含51单片机寄存器定义的头文件 /************************************************** 函数功能&#xff1a;延时函数&#xff0c;延时一段时间 ***************************************************/ void delay(void) { unsigned …

MCM备赛笔记——熵权法

Key Concept 熵权法是一种基于信息熵概念的权重确定方法&#xff0c;用于多指标决策分析中。信息熵是度量信息量的不确定性或混乱程度的指标&#xff0c;在熵权法中&#xff0c;它用来反映某个指标在评价过程中的分散程度&#xff0c;进而确定该指标的权重。指标的分散程度越高…

【SpringBoot】—— 如何创建SpringBoot工程

SpringBoot简化了Spring应用的初始搭建和开发过程。 工程创建 新建模块 出现java: 错误: 无效的源发行版&#xff1a;18这样的错误&#xff0c; 修改pom.xml文件 出现以下信息&#xff0c;即运行成功 修改默认端口 创建application.yml文件 内容&#xff1a; server:port:…

【Kafka】Linux本地和Docker安装Kafka

目录 Linux本地安装kafkajava环境配置Zookeeper的安装配置Kafka的安装与配置生产与消费 Docker安装kafkaZookeeper安装Kafka安装 Linux本地安装kafka java环境配置 1、上传jdk-8u261-linux-x64.rpm到服务器并安装&#xff1a; rpm -ivh jdk-8u261-linux-x64.rpm2、配置环境变…

电力能源实景三维可视化合集,智慧电网数字孪生

电力能源是现代社会发展和运行的基石&#xff0c;渗透于工业、商业、农业、家庭生活等方方面面&#xff0c;它为经济、生活质量、环境保护和社会发展提供了巨大的机会和潜力。图扑软件应用自研 HT for Web 强大的渲染引擎&#xff0c;助力现代化的电力能源数字孪生场景&#xf…

Oracle 12CR2 RAC部署翻车,bug避坑经历

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

C++初阶--自我实现vector

实现模板 #include<assert.h> #include<string.h> #include<iostream> #include<list> using namespace std; namespace fnc {template<class T>class vector{public:typedef T* iterator;typedef const T* const_iterator;//构造函数vector(){…

CSS 浮动 定位

文章目录 网页布局的本质浮动如何设置浮动测试浮动 定位相对定位绝对定位测试定位 网页布局的本质 用 CSS 来摆放盒子&#xff0c;把盒子摆放到相应位置。 CSS 提供了三种传统布局方式&#xff08;简单说就是盒子如何进行排列&#xff09;。 普通流&#xff08;标准流&#…

Postman接口测试基本操作(超详细)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 Postman-获取验证码 需求&#xff1a;使用Postman访问验证码接口&#xff0c;并查看响应结果…

Unity animator动画倒放的方法

在Unity中&#xff0c; 我们有时候不仅需要animator正放的效果&#xff0c;也需要倒放的效果。但我们在实际制作动画的时候可以只制作一个正放的动画&#xff0c;然后通过代码控制倒放。 实现方法其实很简单&#xff0c;只需要把animator动画的speed设置为-1即为倒放&#xff…

PGSQL安装PostGIS扩展模块

一、PostGIS简介 1、PostGIS介绍 PostGIS是一个空间数据库&#xff0c;空间数据库像存储和操作数据库中其他任何对象一样去存储和操作空间对象。 空间数据与数据库关联起来的三个要素&#xff1a;数据类型、索引和函数。 空间数据类型&#xff1a;用于指定图形为点&#xff0…

揭秘无忧秘书AI看图说话功能:职场新宠,效率倍增器

在数字化时代&#xff0c;信息传递的方式越来越多样化。图片作为一种直观、简洁的信息载体&#xff0c;在日常工作和生活中扮演着越来越重要的角色。然而&#xff0c;如何快速、准确地解读图片中的信息&#xff0c;成为了许多职场人士面临的难题。这时&#xff0c;无忧秘书的AI…

园区参观路径 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 园区某部门举办了Family Day&#xff0c;邀请员工及其家属参加&#xff1b; 将公司园区视为一个矩形&#xff0c;起始园区设置在左上角&#xff0c;终点园区设置…

一篇文章带你了解 什么是u(ustd)带你了解他的前世今生

在数字货币的繁荣世界中&#xff0c;USDT无疑是其中一位重要的角色。它的前世今生&#xff0c;是一个从无到有&#xff0c;从小到大&#xff0c;经历了种种波折和争议的故事。 2014年11月下旬&#xff0c;一个名为Realcoin的注册地为马恩岛和香港的公司决定改变自己的名字&…

beego API 自动化文档

API 全局设置 必须设置在 routers/router.go 中&#xff0c;文件的注释&#xff0c;最顶部&#xff1a; // APIVersion 1.0.0 // Title mobile API // Description mobile has every tool to get any job done, so codename for the new mobile APIs. // Contact astaxiegmai…