【软件测试】Web自动化测试框架有哪些以及操作流程

news2024/12/25 9:07:45

测试行业现在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的测试代码、自动运行并生成测试报告等功能,达到快速、高效、低成本的测试目的。通过搭积木图,自动生成流程图,代码测试用例一键生成,显著提高了测试效率,一些大公司像东软集团、红星美凯龙、中国电信等也在使用。

龙测是可以在线注册体验测试的,软件测试-web-app功能测试-自动化测试工具-龙测科技

TestComplete

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

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

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

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

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

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

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

简单一句话,自动化框架只是一个自动化工具的构成,类似骑车的车架子。

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

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

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

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

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

相关文章

D - President - 背包dp

分析: 需要让所有x大于y的对应的z的总数大于z总共的数量的一半,找最小需要转化的数量,那么可以转化为01背包问题,z作为体积,每组的x和y都可以计算出一个值表示需不需要转化,作为背包价值,如果x大…

Java源码分析(二)Double

本篇是源码分析的第二篇,上篇我们一起分析了Integer类的源码,本篇一起学习下Double类的源码,看下其实现。 一、Double类图 首先,相比Integer,Double类的源码只有1000行代码。如下是Integer及其关联类/接口的类图&…

rke2 在线部署 kubernetes

文章目录 1. 还原虚拟机2. 背景3. 介绍4. 预备条件5.1 配置网卡5. 配置主机名 6. 配置互信7. 安装 ansible8. 系统初始化9. kube-master01 部署9.1 定制配置文件(可选)9.2 部署9.3 命令配置9.4 检查节点 10. 配置其他管理节点11. Agent 节点配置12. 检查…

Android 之 WallpaperManager (壁纸管理器)

本节引言: 本节给大家带来的是WallpaperManager(壁纸管理器),如其名,就是手机壁纸相关的 一个API,在本节中我们会描述下WallpaperManager的基本用法,调用系统自带的 壁纸选择功能,将Activity的背景设置为壁…

openCV实战-系列教程8:直方图与均衡化(直方图定义/mask操作/均衡化原理/均衡化效果/自适应均衡化)、原理解析、源码解读

OpenCV实战系列总目录 打印图像直接用这个函数: import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB %matplotlib inline def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()…

初阶数据结构(三)链表

💓博主csdn个人主页:小小unicorn💓 ⏩专栏分类:c 🚚代码仓库:小小unicorn的学习足迹🚚 🌹🌹🌹关注我带你学习编程知识 前面我们讲的线性表的顺序存储结构。它…

2023年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的…

天正(建筑、暖通、给排水、电气、结构)软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 天正软件是一款由天正集团开发的建筑工程设计软件,广泛应用于建筑设计领域。该软件旨在提供便捷、高效的建筑设计工具,帮助设计师快速创建高质量的建筑图纸。 以下是天正软件的主要特点: 支…

Spring注解之@validated的使用

使用步骤 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> 2.异常拦截类 /*** 全局异常处理*/ Slf…

二级MySQL(九)——表格数据处理练习

在Mysql中&#xff0c;可以用INSERT或【REPLACE】语句&#xff0c;向数据库中已一个已有的表中插入一行或多行记录。 在Mysql中&#xff0c;可以用【DELETE】或【TRUNCATE】语句删除表中的所有记录。 在Mysql中&#xff0c;可以用【UPDATE】语句来修改数据表中的记录。 为了完…

齐套检查与分配在生产计划中的实现

最近一段时间看到很多关于生产计划中&#xff0c;作齐套检查与分析讨论&#xff0c;正好我们的易排1.5版添加了类似功能。本文结合易排平台上相应的功能与特征&#xff0c;介绍一下我们在这方面的些许研究结论与看法。 本文中用到些引用自易排平台的概念&#xff0c;先行给出定…

React笔记(一)初识React

一、React概述 1、什么是react react的官网:React 用于构建用户界面的 JavaScript 库&#xff0c;它也是一个渐进式的用于构建用户界面的javascript框架 2、主要特征 声明式&#xff1a;使用原生JS编写的页面存在着开发效率低下、性能较差的情况&#xff0c;使用react大家就…

JavaWeb 速通JQuery

目录 一、JQuery快速入门 1.基本介绍 : 2.入门案例 : 二、JQuery对象 1.基本介绍 : 2.DOM对象 --> JQuery对象 : 3.JQuery对象 --> DOM对象 : 三、JQuery选择器 1.简介 : 2.基本选择器 : 3.层次选择器 : 4.过滤选择器 : 4.1 基础过滤选择器 4.2 内容过滤选择…

wget方式下载DAAC数据

1. 注册DAAC账号 2. 申请数据&#xff0c;获得含下载链接的txt文件 3. 下载配置wget 4.下载&#xff1a; 4.1 创建目录用来保存数据&#xff08;如 E:\3CMB&#xff09; 4.2 在新创建目录下 创建文件 cookies.txt文件 4.3 将含下载链接的txt文件移动到新创建的文件夹中 …

老胡的周刊(第105期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 Piwigo[2] Piwigo 是一个开源的网络照片库软…

01 java 学习 数据类型、基础语法、封装、继承、多态、接口、泛型、异常等

目录 环境搭建和基础知识 什么是JRE: 什么是JDK: 基础数据类型 分支选择if else switch和c一毛一样 for和while循环还有数组基本和c一样 封装 函数调用、传参、命名规范、数组新命名规范 java输入Scanner scanner new Scanner(System.in); 类的创建和使用以及封装修饰符…

【马拉车算法/动态规划】最长回文字串

最长回文字串 1.问题描述2.中心扩展法&#xff08;O(N^2)&#xff09;3.动态规划4.Manacher(马拉车算法) 1.问题描述 常用有3种算法&#xff1a;中心扩展法、动态规划和Manacher算法 2.中心扩展法&#xff08;O(N^2)&#xff09; 解释&#xff1a; 从中心向外扩展。 分为两种…

Please use ‘App‘ component instead.报错问题解决

今天我在用 antd 组件库编写项目发生了如下报错 这个警告是关于 antd 组件库中的一个问题&#xff0c;提示在静态函数中无法像动态主题一样使用上下文&#xff08;context&#xff09;。建议使用 App 组件来解决此问题。 具体解决方法如下&#xff1a; 确保你的应用程序包含一…

深入解析Java中的位运算符:<<、>>和>>>

当谈到位运算符时&#xff0c;Java中的<<、>>和>>>运算符在源码中无疑是经常出现的。这些运算符在处理整数类型的数据时发挥着重要作用。它们主要用于对二进制位进行操作&#xff0c;是一种高效处理位级信息的方式。让我们深入探讨一下这些运算符的工作原…

数据库的类型

一说到数据库&#xff0c;大多数人可能像我一样&#xff0c;首先想到的就是 MySQL、Oracle 这样的关系型数据库。因为我们平时接触的最多&#xff0c;而且大学课程中有关于数据库的&#xff0c;也是以关系型数据库为主的。 其实&#xff0c;除了关系型数据库外&#xff0c;还有…