2023测试职业生涯必看系列:手写web自动化测试框架教程 涵盖框架源码+视频教程以及搭建流程

前言

测试行业现在70%是以手工测试为主,那么只有20%是自动化测试,剩下的10%是性能测试。

有人可能会说,我现在做手工,我为什么要学自动化呢?我去学性能更好性能的人更少?

其实,性能的要求比自动化要求更高,那个是更高级别的了。

现在看一下手工测试工作,只有那么多,70%。但是每年的应届生却在增加。那么,你是想通过手工测试来挑战高薪吗?

根据国内普遍现象来看,手工测试的薪资没有后两者的高,这是不争的事实,后两者更具有难道和挑战。

绝大多数的情况下啊,没有绝对的啊,如果说你说你那个自动化刚工作的没有,我这个手工测试工作了4 5年的,那当然没有可比性。

一、 什么是web自动化测试?

就是网页自动化测试。通过软件对web对象进行输入数据,单击等操作,比较预结果和实际结果,包括测试报告。

二 、Web自动化测试原理

通过调用IE COM接口和HTML DOM ,用自动化测试工具对IE浏览器以及WEB测试对象的操作。自动化测试框架可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。

关于前端自动化测试可以在几个方向进行尝试:

界面回归测试

前端测试最基础的环节,测试界面是否正常;

功能测试

由于涉及交互,这部分测试比界面测试会更复杂,测试功能操作是否正常,;

性能测试

页面性能越来越受到关注,并且性能需要在开发过程中持续关注,否则很容易随着业务迭代而下降;

页面特征检测

有些动态区域无法通过界面对比进行测试、也没有功能上的异常,但可能不符合需求。

三 、如何选择web自动化测试工具?

就像是编程语言等互联网技术百花齐放一样,WEB自动化测试工具也是多种多样的,那么作为自动化测试的初学者如何去选择自动化测试工具呢?

选择的标准如下:

1、适合自己产品需要自动化测试代替的需求

2、要有技术讨论或者直接沟通解决的渠道(论坛、技术交流群)

3、要有稳定运行的能力

4、工具提供商具有持续开发的能力

5、显著提高测试效率

6、支持主流的编程语言(Java、Python)

7、支持主流浏览器(谷歌、IE、火狐等)

四、 web自动化测试工具有哪些?

Selenium

SELENIUM 家族成员有:SELENIUM, SELENIUM RC, SELENIUM IDE, SELENIUM CORE, SELENIUM GRID 和 SELENIUM ON RAILS。

Selenium可能是Web应用程序最流行的开源测试自动化框架。 Selenium始于二十一世纪,经过十多年的发展,已成为Web自动化测试人员的首选自动化框架,尤其适用于拥有高级编程和脚本编写技能的人员。 Selenium已成为其他开源测试自动化工具的核心框架,如Katalon Studio,Watir,Protractor和Robot Framework。

Selenium支持多种系统环境(Windows,Mac,Linux)和浏览器(Chrome,Firefox,IE和Headless浏览器)。 它的脚本可以用各种编程语言编写,如Java,Groovy,Python,C#,PHP,Ruby和Perl。

虽然测试人员可以灵活地使用Selenium,他们可以编写复杂的高级测试脚本来满足各种复杂程度,但它需要高级编程技能和工作来构建自动化框架和库以满足特定的测试需求。

WATIR

WATIR另一个在国外非常流行的自动化测试框架, WATIR 是 WEB AUTOMATION TESTING IN RUBY的缩写, Bret Pettichord 是这个开源项目的主要开发人员, 相信大家读过他的著作《Lessons learned in Software Testing》。 经过一段时间的开源开发, 现在BRET 和他的合伙人PETE开一家公司叫WATIR CRAFT, 提供商业支持但是不能提供特殊的商业支持和功能, 就WATIR 的功能吧, WATIR 一开始只可以在WINDOWS 上运行,而且只可以测试IE, 不过现在好象是可以测试FIREFOX 和 SAFARI 了。WATIR 只可以用RUBY 来写。

Katalon Studio

Katalon Studio是一款功能强大的测试自动化解决方案,适用于Web应用程序,移动和Web服务。 基于Selenium和Appium框架构建,Katalon Studio利用这些解决方案实现集成软件自动化。

该工具支持不同级别的测试技能。 非程序员可以轻松地启动自动化测试项目(比如使用Object Spy来记录测试脚本),而程序员和高级自动化测试人员可以节省构建新库和维护脚本的时间。

UFT

统一功能测试(UFT)是一种众所周知的功能测试商业测试工具。 它为跨平台的桌面,Web和移动应用程序的API,Web服务和GUI测试提供了全面的功能集。 该工具具有先进的基于图像的对象识别功能,可重复使用的测试组件和自动化文档。

UFT使用Visual Basic Scripting Edition来注册测试进程和对象控制。 UFT与Mercury Business Process Testing和Mercury Quality Center集成在一起。 该工具通过与Jenkins等CI工具集成来支持CI。

IBM Rational Functional Tester

IBM RFT是一个用于功能和回归测试的数据驱动测试平台。 它支持广泛的应用程序,如.Net,Java,SAP,Flex和Ajax。 RFT使用Visual Basic .Net和Java作为脚本语言。 RFT具有称为故事板测试的独特功能,其中用户对AUT的操作通过应用程序屏幕截图以故事板格式记录和可视化。

RFT的另一个有趣特性是它与IBM Jazz应用程序生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。

Dragontesting

Dragontesting(龙测)是基于测试+AI的产品线涵盖Web、手机App应用(安卓/苹果)、微信小程序/公众号、PC应用,采用全球领先的测试代码生成器技术,突破“手工编写测试代码”的难点,实现了业务流程的全覆盖、路径自动分析、快速生成基于UI的测试代码、自动运行并生成测试报告等功能,达到快速、高效、低成本的测试目的。通过搭积木图,自动生成流程图,代码测试用例一键生成,显著提高了测试效率,一些大公司像东软集团、红星美凯龙、中国电信等也在使用。

TestComplete

SmartBear的TestComplete是一个功能强大的商业测试工具,适用于Web,移动和桌面测试。 TestComplete支持各种脚本语言,如JavaScript,VBScript,Python和C ++ Script。 与Katalon Studio一样,测试人员可以使用TestComplete执行关键字驱动和数据驱动的测试。 该工具还提供易于使用的录制和播放功能。

与UTF一样,TestComplete的GUI对象识别功能可以自动检测和更新UI对象,这有助于减少AUT更改时维护测试脚本的工作量。 它还在CI过程中与Jenkins集成。

五 、自动化工具和自动化框架的联系。

自动化工具是什么,就是你自动化的工具,就比如你烧饭的工具就叫厨具,你画画用的笔就叫画笔(工具),你吃饭用的就叫吃饭工具。

自动化工具,比如QTP,Loaderunner,各种公司自己研发的工具。

自动化框架呢,就是一个架子,你可以朝里面面填写一些东西,之后,就成了一个自动化工具。

打个比方,自动化框架robotframework,加上selenium2library,就是一个工具了,怎么使用又是另一回事了。

【简单一句话,自动化框架只是一个自动化工具的构成,类似骑车的车架子。等同于说把别人框架学会了就如下图所示】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

openssh升级9.3p2

openssh升级9.3p2 openssh-rpms目录安装编译其他机器使用 将生成的rpm包传入响应服务器 openssh-rpms目录 github上有就是总是连接不上存百度网盘了 安装编译 unzip openssh-rpms-main.zip cd openssh-rpms-main/ yum -y groupinstall "Development Tools" yum -…

零基础快速上手STM32开发(手把手保姆级教程)

零基础快速上手STM32开发(手把手保姆级教程) 1. 前言 作为一名嵌入式工程师,STM32 是必须要学习的一款单片机,同时这款单片机资料足够多,而且比较简单,非常适合初学者入门。 STM32 是一款由 STMicroelec…

数据结构 1、基本概念 动态数组实现

一、大O表示法 判断一个算法的效率 难点 二、线性表 1.定义 2.数学定义 线性表是具有相同类型的n(n>0)个数据元素的有限序列(a0,a1,a2,...,an),ai是表项,n是表长度 3.性质 4.线性表的基本操作 1.创建线性表 2…

Redis集群,你真的学会了吗?

目录 1、为什么引入集群 1.1、先来了解集群是什么 1.2、哨兵模式的缺陷 引入集群解决了什么问题 1.3、使用集群,如何存储数据 2、三种主流的分片方式【经典面试题】 2.1、哈希求余算法 2.1.1、哈希求余算法的介绍 2.1.2、哈希求余算法如何扩容 2.2、一致性…

No193.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

(只需三步)虚拟机上vm的ubuntu不能联上网怎么办

第一步:重启虚拟网络适配器 第二步:删掉网络适配器,重新添加 第三步:重启虚拟机网络服务器 sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start 再打…

eNSP-打开华为USG6000V1防火墙web管理页面方法

一、本地打开防火墙web管理页面 1.先在ensp中启动USG6000V1防火墙,启动后,需要输入原始username和password(username:admin,password:Admin123),并修改原始密码后,才能配…

由浅入深学习统计学 -集中趋势的量度

由浅入深学习统计学 -集中趋势的量度 均值 (通俗来说是平均数) 计算公式 均值在对称数据中才有参考性。 异常数据会导致出现,向左偏移或者向右偏移 中位数 - (也是属于平均数的一种) 当偏移数据和异常数据使得均值产…

大手笔!吴恩达一口气开放了 3 个 AIGC 教程。。

一个月前,DeepLearning.ai 创始人吴恩达与 OpenAI 开发者 Iza Fulford 联手推出了一门面向开发者的技术教程:ChatGPT 提示工程。 该教程总共分为 9 个章节,总一个多小时,里面主要涵盖:提示词最佳实践、评论情感分类、…

Centos7安装Jenkins

Jenkins官方网址:https://www.jenkins.io/zh/ 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld && iptables -Fsed -i s/enforcing/disabled/ /etc/selinux/config && setenforce 0安装JDK 检索JDK可用包 yum sear…

威海广泰-002111 三季报分析(20231109)

威海广泰-002111 基本情况 公司名称:威海广泰空港设备股份有限公司 A股简称:威海广泰 成立日期:2002-08-30 上市日期:2007-01-26 所属行业:专用设备制造业 周期性:0 主营业务:航空产业、消防产业…

错误:FUNCTION simple_notebook.count does not exist.解决方法

0 引入问题 小王:你这个数据有问题啊,有时候还会报错 小腾:怎么会有问题呢,代码写的一点毛病也没有 小王:没问题怎么会报错,你赶紧看看,项目上线甲方看到了报给老板咱俩就寄了 小腾&#xff1a…

基于LangChain+ChatGLM2-6B+embedding构建行业知识库

目的:最近在探索大模型本地化部署知识库实现行业解决方案,安装过程记录,分享给需要的同学,安装前确定好各组件的版本非常重要,避免重复安装走老路。 经过查阅大量资料,目前可以分为以下两种方案 方案一&am…

【npm 错误】:npm ERR! code ERESOLVE、npm ERR! ERESOLVE could not resolve问题

用过npm的小伙伴都会有这么一个情况出现,就是npm install /npm install xxxx 会出现改一连串的错误,如下: 解决办法: 只要在npm install后面加上--legacy-peer-deps就可以解决问题,安装插件也一样 npm install --legacy-peer-dep…

二、数据运营:B-O价值模型

B - O 价值模型,即 Business - Operation 模型,业务一运营模型。这是一个非常成熟的概念,其变体 BOSS 系统,即 BSS 业务支撑系统和 OSS 运营支撑系统已经在通信运营上使用20多年之久。 B - O 价值模型试图建立起一种通用的业务经…

学习网络编程No.9【应用层协议之HTTPS】

引言: 北京时间:2023/10/29/7:34,好久没有在周末早起了,该有的困意一点不少。伴随着学习内容的深入,知识点越来越多,并且对于爱好刨根问底的我来说,需要了解的知识就像一座大山,压得…

高级运维学习(十六)Prometheus 监控

Prometheus概述 Prometheus是一个开源系统监控和警报工具包,最初由 SoundCloud构建。也是一款监控软件,也是一个时序数据库。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。主…

python的re正则表达式

华子目录 什么是正则表达式元字符字符集字符集与元字符的综合使用 数量规则指定匹配次数边界处理分组匹配贪婪匹配非贪婪匹配re.S转移字符re.search()re.sub()实例常见的匹配模式 什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串…

SPSS时间序列模型预测

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

Python 如何实现 Strategy 策略设计模式?什么是 Strategy 策略设计模式?

策略模式(Strategy Design Pattern)是一种对象行为型设计模式,它定义了一系列算法,并使得这些算法可以相互替换,使得客户端代码可以独立于算法的变化而变化。策略模式属于对象行为模式。 主要角色: 策略接口…