当前位置: 首页 > news >正文

2023最全的Web自动化测试介绍(建议收藏)

做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP。

有的人可能就会说,我没这个Java基础,没有Selenium基础,能行吗?测试虽然属于计算机行业,但其实并不需要太深入的编程知识!

01、行业现状

我们先看看目前的行业现状:

测试行业现在70%是以手工测试为主,那么只有20%是自动化测试,剩下的10%是性能测试。
有人可能会说,我现在做手工,我为什么要学自动化呢?我去学性能更好性能的人更少?

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

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

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

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

那么如果说你的基础不好,你又想改变这个现状,那么你就只有学习或者培训。

【粉丝福利】整理了一些软件测试方面的资料、面试资料(接口自动化、web自动化、app自动化、性能安全、测试开发等),有需要的小伙伴可以点击文末小卡片关注我的微信公众号,无套路自行领取~

02、自动化测试入门实例

下面看几个简单的程序。这里打开eclipse,这是一个简单的一个Java的一个程序啊,能够打开一个网页。

然后登录,下单。它的流程是什么样的,运行一下。

这里用的是Chrome浏览器,打开了Chrome浏览器,它会自动去登陆,然后以及跳转到商品详情页进行一个下单。

现在已经在登录页面进行登录。登录完了之后,自动跳转到一个商品详情页,然后点击立即购买,之后跳转到确认订单页,然后直接跳转到支付中心!

然后立即支付。

支付完,那这样的自动化脚本算是自动化吗?

答案是肯定的,这是我们第一个版本,那我们再看看我们的第二个版本。

第二个版本是这样的,就说我们把所有的操作啊都封装好了,都封装成每一个方法输入,我们封装成一个方法,选择梳成一个方法,多选框也封装成一个方法,那这样的就算是自动化测试吗?

答案肯定还是肯定的。

如果说你学到这个地步,那么我只能算说,你算入门了,那什么样的才是真正的自动化测试呢?来我这里看一下,我这里打开了一个谷歌浏览器,打开了Chrome。

回过头来看,那如果我们做自动化要做到这样,那他应该是怎么去实现的呢?

首先我们要掌握我们这个自动化工程,必须要掌握自动化基础。自动化基础包括哪些东西呢?自动化用例的编写以及Selenium的优势以及原理,还有自动化环境的一个搭建。

03、Selenium基础知识概要

当我们有自动化基础的时候,我们就需要去掌握什么,掌握我们Selenum相关的知识,Selenum的一个基础知识需要有哪些呢?如下图:

常见的8大元素定位,还有扩展的东西,比如说表格,还有什么常见元素的处理,比如说你要操作一个元素,你的element点击输入信息等等,还有下拉框元素的处理,不同窗口之间的切换,这些会运用的非常多。

还有元素的拼接,元素的进阶,如果说当前页面没有出现什么元素,那如何才能出现,还有元素的一个等待。
那么当我们有Selenium基础之后,我们是不是就应该是向着更高级的去发展,那怎么去发展,那么肯定是需求到框架。

当我们要做自动化测试工程师的时候,我们一定要明白一个道理,就是说我们肯定是首先要拿到自动化的一个需求,所以说拿到需求之后,我们要怎么到我们刚刚展现的这个框架的一个开发,那中间要经历哪些途径呢?来我们看一下。

04、自动化测试需求分析

(从需求出发到自动化)

如下图,描述了自动化测试需要分析的基础步骤:

首先需求分析,需求分析完了之后要有一个用例设计,用例设计当然也包含了我们自动化用例的设计,如果说你连功能测试都做不好,那么我建议你可以先看一下自动化用例的一个设计,因为我们这个自动化用例设计和功能测试没有太大的区别,但是他会更加的详细,当我们有用例设计之后,我们是不是要看基础脚本的开发了,因为我们已经掌握了Selenium基础。

是不是要试着研究,怎么去开发到这一步,看不到任何的定位信息,我们把这一步学完之后呢,我们就干什么? 登陆和购物脚本的重构了,因为在整个的过程中,我们是做什么呢?我们拿一个登录,购物这两个流程来看。

一个登录是1个简单的例子,但是一个购物他就是一个非常复杂的一个流程,我们会把这两个例子拿过来讲那么。

这两个例子呢,最开始都是有基础脚本的,最后,通过脚本的重构,把这两个脚本进行还原。最后呢,就是封装读取,配置文件,在做自动化的时候,如果说你不会读取配置文件,那是不可能的,因为我们很多的操作都需要通过读取配置文件来完成读取配置完成之后呢,我们就可以去实现一个数据驱动。

当一个case失败了,怎样收集信息呢?很多情况下,测试用例失败后,我们并不能准确知道哪里失败了,这个时候就需要进行截图,打印执行日志等,必要的时候甚至断点调试!

总结

相比于手工测试,自动化测试具备一定的难度和挑战性,但二者必然是一个相互结合的整体。对于想要在测试行业长远发展的同学,自动化测试技能还是必不可少的。本文只是一个入门教程介绍,虽然自动化测试难度不大,但流程很长,门槛不高,但知识技能面丰富!

如果你还有许多困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破【保证100%免费】

相关文章:

2023最全的Web自动化测试介绍(建议收藏)

做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP。 有的人可能就会说,我没这个Java基础,没有Selenium基础,能行吗?测试虽然属于计算机行业,但其实并不需要太深入的编程知识&…...

jvm_根节点枚举安全点安全区域

1、可达性分析可以分成两个阶段 根节点枚举 从根节点开始遍历对象图 前文我们在介绍垃圾收集算法的时候,简单提到过:标记-整理算法(Mark-Compact)中的移动存活对象操作是一种极为负重的操作,必须全程暂停用户应用程序才能进行,像这…...

fabric(token-erc-20链码部署)

确保自己已经安装了fabric。没有安装的可以参考我之前的教程fabric中bootstrap.sh到底帮助我们干了什么?(手动执行相关操作安装fabric2.4)_./bootstrap.sh_小小小小关同学的博客-CSDN博客小伙伴们在跟着官方示例来安装fabric的时候都是相当烦…...

C语言基础——流程控制语句

文章目录一、流程控制语句 -- 控制程序的运行过程 9条(一)、条件选择流程控制语句:if语句if……else……语句if……else if……语句switch语句(二)、循环流程控制语句:for语句while语句do while……语句co…...

WinForm | C# 界面弹出消息通知栏 (仿Win10系统通知栏)

ApeForms 弹出消息通知栏功能 文章目录ApeForms 弹出消息通知栏功能前言全局API通知栏起始方向通知排列方向通知栏之间的间隔距离无鼠标悬停时的不透明度消息通知窗体的默认大小示例代码文本消息提示栏文本消息提示栏(带选项)图文消息提示栏图文消息提示…...

刷题之最长公共/上升子序列问题

目录 一、最长公共子序列问题(LCS) 1、题目 2、题目解读 ​编辑 3、代码 四、多写一题 五、应用 二、最长上升子序列问题(LIS) 1、题目 2、题目解读 3、代码 四、多写一道 Ⅰ、题目解读 Ⅱ、代码 一、最长公共子序列问题&…...

【数据结构】千字深入浅出讲解栈(附原码 | 超详解)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言实现数据结构 💬总结:希望你看完…...

自动驾驶V2X

1 SoC MDM9250 2 设备网络节点 mhi_swip0 rmnet_mhi0 3 网络协议栈log打印控制 include/linux/netdevice.h ethtool -s eth0 msglvl [level] ethtool -s eth0 msglvl 0x6001 4 URLs MHI initial design review https://lore.kernel.org/lkml/001601d52148$bd852840$388f78c0$c…...

零基础自学网络安全/渗透测试有哪些常见误区?

一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…...

ConvMixer:Patches Are All You Need

Patches Are All You Need 发表时间:[Submitted on 24 Jan 2022]; 发表期刊/会议:Computer Vision and Pattern Recognition; 论文地址:https://arxiv.org/abs/2201.09792; 代码地址:https:…...

day10—编程题

文章目录1.第一题1.1题目1.2思路1.3解题2.第二题2.1题目2.2涉及的相关知识2.3思路2.4解题1.第一题 1.1题目 描述: 给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩…...

如何测量锂电池的电量

锂电池在放电时我们有时需要知道电池的实时电量,如电池电量低了我们就需要及时给锂电池充电,避免电池过度放电。我手里的这个就是个单节锂电池电量显示模块,只需要将这个模块接到锂电池的正负极即可显示电量。这个模块的电量分为四档&#xf…...

菜鸟刷题Day6

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.链表内指定区间反转:链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转…...

DecimalFormat格式化显示数字

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字,可以实现以最快的速度将数字格式化为你需要的样子。 DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充, # 表示只要有可能就…...

cpu中缓存简介

一级缓存是什么: 一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率。一级缓存越大,CPU的运行效率越高,但受到CPU内部结构的限制,一级缓存的容量都很小。 CPU缓存(Cache Memory&#xf…...

【数据结构】二叉树的遍历以及基本操作

目录 1.树形结构 1.概念 2.二叉树 2.1概念 2.2 两种特殊的二叉树 2.3二叉树的存储 2.4二叉树的基本操作 1.手动快速创建一棵简单的二叉树 2.二叉树的遍历 (递归) 3.二叉树的层序遍历 4.获取树中节点的个数 5.获取叶子节点的个数 6.获取第K层节点的个数 7.获取二叉…...

若依框架 --- ruoyi 表格的设置

表格 字典值转换 (1) 方式1:使用字典枚举的方式 var isDownload [[${dict.getType(YES_OR_NO)}]];{field : isDownload,title : 是否允许下载,formatter: function(value, row, index) {return $.table.selectDictLabel(isDownload, value);} }, (2) 方式2&…...

“两会”网络安全相关建议提案回顾

作为新一年的政治、经济、社会等发展的“风向标”,今年“两会”在3月13日顺利闭幕。在今年“两会”期间,多位人大代表也纷纷围绕网络安全、数据安全的未来发展做了提案和建议。 01 “两会”网络安全相关建议和提案回顾 建议统筹智能网联汽车数据收集与共…...

一篇文章带你真正了解接口测试(附视频教程+面试真题)

目录 一、什么是接口测试? 二、为什么要做接口测试? 三、如何开展接口测试? 四、接口测试常见面试题 一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据…...

C/C++每日一练(20230325)

目录 1. 搜索插入位置 🌟 2. 结合两个字符串 🌟 3. 同构字符串 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 搜索插入位置 给定一个排序数…...

图像降噪避坑指南:为什么你的sym4小波处理效果不明显?

图像降噪避坑指南:为什么你的sym4小波处理效果不明显? 当你在深夜调试代码,反复对比sym4小波处理前后的图像时,屏幕上的像素似乎在对你冷笑——降噪效果远不如论文里展示的那般惊艳。这不是个例,在计算机视觉开发者社群…...

旧电脑秒变云服务器:用Proxmox VE打造家庭虚拟化实验室(ZFS配置优化版)

旧电脑秒变云服务器:用Proxmox VE打造家庭虚拟化实验室(ZFS配置优化版) 1. 为什么选择Proxmox VE搭建家庭实验室? 对于个人开发者和技术爱好者来说,拥有一套完整的虚拟化环境是提升技术能力的绝佳途径。Proxmox VE作为…...

5分钟搞定Meson交叉编译:手把手教你配置ARM64目标平台(附DPDK实例)

Meson交叉编译实战指南:从零构建ARM64平台的DPDK应用 第一次接触交叉编译时,我盯着满屏的工具链路径和架构参数发愣——这简直像在解译外星密码。直到发现Meson的交叉编译配置文件,才发现原来构建跨平台应用可以如此优雅。本文将带你用Meson这…...

AIVideo效果展示:输入主题输出专业视频,惊艳案例分享

AIVideo效果展示:输入主题输出专业视频,惊艳案例分享 1. 专业级视频生成效果概览 AIVideo一站式AI长视频工具能够将简单的文字主题转化为完整的专业视频作品。只需输入一个主题,系统就会自动完成从文案创作、分镜设计、画面生成到配音剪辑的…...

Xilinx Video IP实战:如何将HDMI输入转换为AXI4-Stream(附仿真+上板测试)

Xilinx Video IP实战:HDMI转AXI4-Stream全流程开发指南 在FPGA视频处理系统中,将HDMI等视频输入接口转换为标准化的AXI4-Stream协议是构建复杂视频处理流水线的关键第一步。不同于简单的接口转换,这一过程涉及视频时序解析、数据位宽适配、时…...

Pixel Fashion Atelier企业应用:支持Webhook回调的自动化素材生成流水线搭建

Pixel Fashion Atelier企业应用:支持Webhook回调的自动化素材生成流水线搭建 1. 项目背景与价值 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的图像生成工作站,专为企业级素材生产需求设计。传统AI工具往往面临两大挑战&#xff1a…...

为什么很多人学 Django 会懵?因为没搞懂 MVC 和 MTV 的真正区别

很多刚接触 Django 的开发者,甚至包括不少测试工程师,在学习 Django 时都会遇到一个困惑:为什么 Django 不叫 MVC,而是 MTV?更奇怪的是:很多教程还会说:“Django 的 MTV 其实就是 MVC。”这句话…...

LangChain4j vs Spring AI:Java AI 框架技术选型深度对比与生产落地指南

LangChain4j vs Spring AI:Java AI 框架技术选型深度对比与生产落地指南 摘要:当 Java 团队建设 AI 应用时,真正困难的通常不是“能否调通模型”,而是“如何把 Prompt、RAG、工具调用、可观测性、限流熔断、灰度发布、权限隔离与业务系统稳定地耦合起来”。本文不再停留在 …...

小型电动助力播种机【设计说明书+CAD图纸+solidworks三维+STEP+IGS】

小型电动助力播种机是针对传统播种作业效率低、劳动强度大的问题设计的农业机械装置,其核心作用在于通过电动助力系统优化播种流程,实现均匀播种与精准控制。该装置采用模块化设计理念,将动力传输、播种控制与行走机构集成于一体,…...

用LDA模型挖掘微信聊天秘密:Gensim实战教程(含pyLDAvis可视化)

用LDA模型挖掘微信聊天秘密:Gensim实战教程(含pyLDAvis可视化) 微信聊天记录中隐藏着大量有价值的信息,从日常对话到重要决策,这些文本数据就像一座未被充分挖掘的金矿。本文将带你用Python中的Gensim库构建LDA主题模型…...