8. 自动化测试 selenium

目录

1. 什么是自动化

2. 自动化测试金字塔

2.1 单元测试

2.2 接口自动化

2.3 UI自动化 

3. 什么是 selenium

4. selenium 工作原理(重点)


1. 什么是自动化

自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。

自动化的优点: 

  • 可以提高测试效率
  • 可以提高测试质量

那么,自动化测试和手工测试哪个更好呢?

        不能说哪个好或者哪个不好,只要适合当前业务的测试类型就是一个好的测试方法。

自动化测试能否完全代替手工测试?

        不能。

2. 自动化测试金字塔

自动化测试包括UI自动化,接口自动化,单元测试自动化。
按照这个金字塔模型来进行自动化测试规划,可以产生最佳的自贡话测试产出投入比(ROI ),可以用较少的投入获得很好的收益。

越往上越靠近用户、测试方法越简单、问题出现之后定位问题的成本越高。

2.1 单元测试

最大的投入应该在单元测试上,单元测试运行的频率也更加高。
java 的单元测试框架是 Junit。

2.2 接口自动化

接口测试就是 API 测试,相对于 UI 自动化 API 自动化更加容易实现,执行起来也更稳定。
接口自动化的有以下特点:
  • 可在产品前期,接口完成后介入
  • 用例维护量小
  • 适合接口变动较小,界面变动频繁的项目
常见的接口自动化测试工具有, RobotFramework JMeter SoapUI TestNG+HttpClient Postman 等。

2.3 UI自动化 

虽然测试金字塔告诉我们尽量多做 API 层的自动化测试,但是 UI层的自动化测试更加贴近用户的需求和软件系统的实际业务。
UI自动化的特点:
  • 用例维护量大
  • 页面相关性强,必须后期项目页面开发完成后介入
  • UI测试适合界面变动较小的项目
UI自动化测试的好处:
  1. 降低大型系统的由于变更或者多期开发引起的大量的回归测试的人力投入,这可能是自动化测试最主要的任务,特别是在程序修改比较频繁,效果是非常明显的,自动化测试前期人力投入较多,但后期进入维护期后,可节省大量人力,而手工测试后期需要增加大量人力用于回归测试
  2. 减少重复测试的时间,实现快速回归测试
  3. 创建优良可靠的测试过程,减少人为错误
  4. 可以运行更多更繁琐的测试
  5. 可以执行一些手工测试困难或不可能进行的测试
  6. 更好的利用资源
  7. 测试脚本的重用性

UI层的测试框架 比较多,比如 Windows 客户端测试的 AutoIT web测试的selenium 以及 TestPlant
eggPlant Robot framework QTP 等。

3. 什么是 selenium

selenium 是自动化测试框架,主要针对 web 项目进行 UI 自动化。

selenium 的特点:

  • 免费
  • 小巧
  • 支持多语言:Java、Python、JS、Ruby、C#
  • 支持多平台:一套代码可以在 Linux、mac、Windows 上运行
  • 支持多种浏览器:Edge、chrome、Firefox
  • 有丰富的 API
  • 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器执行,相当于分发机的功能

4. selenium 工作原理(重点)

代码:通过编译器写的代码(自动化测试脚本)

浏览器驱动:

什么是驱动:类似于汽车有了驱动才可以跑起来

浏览器:我们下载的浏览器

我们可以看到在运行我们上篇文章的代码后,打印了如下的日志:

表明驱动也连接成功了。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

px4上传数据waiting for bootloader

输入make px4_fmu-v6c_default upload,出现waiting for bootloader 原因,可能是启动了QGC占用了端口,把QGC关掉,重新上电,就OK了。

Visual Studio 新功能:Include 语句清理

Visual Studio 17.7 预览版 3 引入了一项新功能,用来提升开发者的生产力。我们很高兴地宣布这项新功能:Include 语句清理,这是一个帮助你维护干净代码的工具。如需使用此功能,请确保更新到最新版本的 Visual Studio 预览版。 Inc…

VMware桥接模式无法识别英特尔AX200无线网卡解决办法

1.先到英特尔网站下载最新驱动,更新网卡驱动适用于 Intel 无线网络卡的 Windows 10 和 Windows 11* Wi-Fi 驱动程序 2.到控制面板查看无线网卡属性是否有下图组件 没有的话,依次操作 安装---服务---添加---从磁盘安装----浏览--进入VMware安装目录&…

【运维小知识】(四)——linux常用命令

运维专栏:运维小知识 目录 1.🍁🍁用mv命令修改文件名 2.🍃🍃创建及删除文件夹即文件夹下所有文件 3.🍂🍂移动文件夹并重命名 4.🌿🌿复制文件 5.🍄&#x…

SCADA平台助力智能建筑管理,掌控未来建筑

前言 在现代智能建筑管理中,随着设施管理(FM)、建筑管理系统(BMS)和火灾监测等方面的需求不断增加,以及物联网系统和建筑信息模型(BIM)方法的应用,对智能建筑管理提出更…

Android 通过插桩来代理线程池

前言 在日常开发App的过程中,难免需要依赖第三方Sdk,这样就无形中增加了我们自己App的线程数,从而会导致App出现内存溢出、Cpu消耗增加等等负面影响。如果依赖的Sdk提供了线程池代理的接口还好,那样直接设置我们自定义的线程池。但…

Java 压缩多个文件为zip包(中间不生成临时文件,直接压缩为zip二进制流),以及解压zip包二进制流为文件

Java 压缩多个文件为zip包及解压zip包以及压缩多文件为zip文件流解压zip二进制流(中间不生成临时文件,直接压缩为zip二进制流,并验证解压) 1. 效果图2. 源码 这篇博客将提供俩种方法, 提前生成要压缩的多个文件&#…

招聘小程序制作:连接人才与企业

随着人才市场的竞争日益激烈,招聘小程序成为了企业寻找优秀人才和求职者找到理想工作的重要工具。通过招聘小程序,企业可以发布招聘信息、筛选简历,而求职者可以浏览职位、提交简历等。 招聘小程序的好处 精准匹配人才:招聘小程序…

js的this绑定规则以及箭头函数

目录 调用位置默认绑定隐式绑定隐式丢失 显式绑定callapplybind new绑定装箱绑定优先级this规则之外忽略显式绑定间接函数引用 箭头函数 调用位置 从字面意思上来理解,this似乎是指向自己的 然而在JavaScript中,this并不是绑定到自身的 可以看这一个例子…

经典常谈思维导图怎么制作?手把手教你制作

经典常谈思维导图怎么制作?创建思维导图可以帮助我们更好地组织和整理信息,帮助我们更好地理解和记忆信息。它可以使我们更高效地学习和工作,并帮助我们更好地表达和分享我们的想法和想法。因此,制作思维导图是一种非常有用的技能…

适合投资者的交易策略,4步找到

在外汇交易市场中,根据市场情况和个人投资目标,制定灵活的交易策略是至关重要的。Forexclub认为投资者可以通过结合多种交易策略,打造出全面、科学且适合自己的外汇交易策略。 首先,基于技术指标的交易策略是判断市场趋势和转折点…

剑指 Offer 29. 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] …