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

news2024/12/23 15:24:40

前言

测试行业现在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,就是一个工具了,怎么使用又是另一回事了。

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

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

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

相关文章

如何利用 cpolar 内网穿透技术实现 U8 用友 ERP 异地访问

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上,点击开始菜单栏,打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

Leetcode_203.移除链表元素—C语言

目录 ❣️1.题目❣️ ❣️2.解答❣️ 💞方法一:暴力法 💞方法二: 尾插法 💞方法三:哨兵位法 ❣️1.题目❣️ 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.va…

高可用架构设计

1. 引言 软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,本篇讨论高可用 高可用技术的重要性在于保证系统的连续可用性,提高系统的稳定性和可靠性。它可以应对高并发和大规…

2783爱心公益网站的设计与实现JSP【程序源码+文档+调试运行】

一、摘要 本文将详细介绍一个基于Web的爱心公益网站的设计和实现。该网站包括前台用户模块和后台管理员模块,能够满足用户和管理员的不同需求。通过对用户和管理员的功能需求分析,本文将重点阐述数据库设计和界面设计的关键环节,同时介绍如何…

区块链链游合约系统开发项目模式技术方案

​随着区块链技术的发展,链游合约系统开发逐渐成为了一个备受关注的项目。本文将探讨区块链链游合约系统开发项目的技术方案,包括项目背景、开发目标、技术架构、系统流程、安全措施等方面的内容。 一、项目背景 链游是一种基于区块链技术的游戏&#xf…

初识MySQL(一)(创建数据库,查看删除数据库,备份和恢复,创建表,数据类型)

目录 客户端 ------> MySQL服务(3306) 数据库三层结构-破除MySQL神秘 创建数据库 查看删除数据库 备份恢复数据库 创建表 MySQL常用的数据类型(列类型) ​编辑 ​编辑整型 bit类型 小数类型 字符串类型 日期类型的使用 客户端 ------> MySQL服务(3306) 连接…

nmap原理与使用

kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。 一、端口扫描 扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口&am…

Java基础-基础语法

1、概述 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;…

酉矩阵(Unitary Matrix)

对于n阶复数矩阵A,如果,其中表示矩阵A的共轭转置,为单位矩阵,那么就称A为酉矩阵。 对于酉矩阵, 如果酉矩阵的元素都是实数,那么该矩阵就是正交矩阵。

Redis应用之二分布式锁2

一、前言 前一篇 Redis应用之二分布式锁 我们介绍了使用SETNX来实现分布式锁,并且还遗留了一个Bug,今天我们对代码进行优化,然后介绍一下Redisson以及数据库的乐观锁悲观锁怎么用。 二、SetNX分布式锁优化后代码 RedisService.java Inven…

计算机中msvcp140.dll丢失的解决方法,修复msvcp140.dll报错问题

使用电脑的过程中,我们常常会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。msvcp140.dll是Microsoft Visual C运行时库的重要组成部分,丢失该文件可能导致程序无法正常运行、系统崩溃等问题。本文将详细介绍msvcp140.dll丢失的原因及…

刨根问底:Java中的“\p{P}”到底是什么意思

问题由来: 在代码中看到了Pattern.compile("\\p{P}"),用来识别符号,但是这个正则表达式却不匹配加号,所以\p{P}到底是什么意思呢 谷歌了一下,找到StackOverflow上有人问了一模一样的问题 可是这个问题被关…

k8s集群搭建(ubuntu 20.04 + k8s 1.28.3 + calico + containerd1.7.8)

环境&需求 服务器: 10.235.165.21 k8s-master 10.235.165.22 k8s-slave1 10.235.165.23 k8s-slave2OS版本: rootvms131:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: …

(三)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

软板当然可以弯折啊,只是容易弯出问题而已

高速先生成员:黄刚 每次在介绍具体案例之前,都还是先铺垫下基础知识吧。今天讲的是一个软板的案例,我们循例先介绍下软板的概念。相信大多数的硬件工程师,PCB设计工程师或者测试工程师都见过,就是像下面的这些了。 它作…

APP攻防-资产收集篇反证书检验XP框架反代理VPN数据转发反模拟器

文章目录 常见问题防护手段 常见问题 没有限制过滤的抓包问题: 1、抓不到-工具证书没配置好 2、抓不到-app走的不是http/s 有限制过滤的抓包问题: 3、抓不到-反模拟器调试 4、抓不到-反代理VPN 5、抓不到-反证书检验 做移动安全测试时,设置…

C++——gcc、clang和cmake以及make

文章目录 1. CMake和make1.1 生成内容区别1.2 CMakeLists.txt和Makefile内容比较2. clang, gcc和make2.1 基本概念2.2 改进历史(gcc,make,cmake,Ninja)1. CMake和make 1.1 生成内容区别 环境CMake生成最终生成WindowsXXX.slnVisual Studio(MSBuild)处理.sln生成.exe可执行二进…

Java自学第11课:电商项目(4)重新建立项目

经过前几节的学习,我们已经找到之前碰到的问题的原因了。那么下面接着做项目学习。 1 新建dynamic web project 建立时把web.xml也生成下,省的右面再添加。 会询问是否改为java ee环境?no就行,其实改过来也是可以的。这个不重要。…

Redhat7查看时区、修改时区

问题: 安装好redhat7之后,发现时间和物理机上面的网络时间不一致,于是查看本着修改时间的目的,却发现原来是时区的问题。 解决步骤: 查看时区状态信息 timedatectl修改时区到亚洲/上海 timedatectl set-timezone A…

数列计算

题目描述 有一列数是 : 请找出这个数列的规律,编写程序计算并输出这个数列的第项,要求是分数形式,并计算这个数列的前项和 ( 结果四舍五入保留两位小数 ) 输入格式 第一行仅有一个正整数 () 。 输出格式 共有 行,第一…