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

2023最全的Web自动化测试介绍

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

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

01、行业现状

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

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

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

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

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

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

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

02、自动化测试入门实例

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

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

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

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

然后立即支付。

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

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

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

答案肯定还是肯定的。

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

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

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

03、Selenium基础知识概要

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

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

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

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

04、自动化测试需求分析

(从需求出发到自动化)

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

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

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

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

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

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

总结

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

Python接口自动化测试零基础入门到精通(2023最新版)

相关文章:

2023最全的Web自动化测试介绍

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

Unity 控制物体透明度变化

1.需求 给物体绑定一个脚本,这个脚本实现物体的透明度渐变变化,并且可以重置回原来的颜色。物体为Unity自带的材质Shader为Standard。 2.代码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Transpare…...

django及DRF流程源码分析

Django执行流程: 1.nginx作为接入层,通过反向代理,监听80端口获取请求连接 2.将请求交给wsgi server 3.wsgi server调用django的wsgi.py 处理请求 4.WSGIHandler的__call__函数就是整个逻辑处理流程 5.WSGIHandler __init__中的加载中间件,对request对象…...

Ajax入门-Express框架介绍和基本使用

电脑实在忒垃圾了,出现问题耗费了至少一刻钟time,然后才搞出来正常的效果; 效果镇楼 另外重新安装了VScode软件,原来的老是报错,bug。。; 2个必要的安装命令; 然后建立必要的文件夹和文件&…...

Linux加强篇001-部署Linux系统

目录 一、前言 1.1准备工具 1.2安装配置VM虚拟机 1.3安装软件 1.4系统初始化进程 1.5重置root密码 二、巩固练习 1.为什么建议读者在下载系统文件后先进行校验而不是直接安装呢? 2.使用虚拟机安装Linux系统时,为什么要先…...

LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树

一、LeetCode343. 整数拆分 题目链接:343. 整数拆分 题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入…...

好多年没更新了

好多年没更新了,哈哈,各位好。 感恩一切,感恩有你们。...

DOM文档对象模型

前言 DOM(Document Object Model) 文档对象模型&#xff0c;是W3C制定的标准接口规范&#xff0c;是一种处理HTML和XML文件的标准API。简单来说DOM就是操作网页的api和接口。 一、Node类型属性 1.判断节点类型 nodeType 整数返回值 9 1 3 2 <div id"one">我…...

【Django-DRF】多年md笔记第5篇:Django-DRF的Request、Response和视图详解

本文从分析现在流行的前后端分离Web应用模式说起&#xff0c;然后介绍如何设计REST API&#xff0c;通过使用Django来实现一个REST API为例&#xff0c;明确后端开发REST API要做的最核心工作&#xff0c;然后介绍Django REST framework能帮助我们简化开发REST API的工作。 Dj…...

mongo DB -- aggregate分组查询后字段展示

一、分组查询 在mongoDB中可以使用aggregate中的$group操作对集合中的文档进行分组,但是查询后的数据不显示其他字段,只显示分组字段 aggregate进行分组示例 db.collection.aggregate([{$group: {_id: "$field"}},]) 查询后显示 展开只显示两个字段 二、显示所有字段…...

禁止linux shell 终端显示完整工作路径,如何让linux bash终端不显示当前工作路径

在操作linux时&#xff0c;默认安装的linux终端会显示当前完整的工作目录&#xff0c;如果目录比较短还是可以接收&#xff0c;如果目录比较长&#xff0c;就显得比较别扭&#xff0c;操作起来不方便&#xff0c;因此需要关闭这种功能。 要关闭这个功能&#xff0c;请按如下步骤…...

error: ‘ui/ui_uimainwindow.h‘ file not found

问题&#xff1a;在刚好创建的Qt Designer Form Class类中&#xff0c;发现类的.cpp文件中有ui头文件未找到 原因&#xff1a;.ui文件没有被识别到&#xff0c;或者.ui文件不存在&#xff0c;导致ui头文件未创建而报错。 解决&#xff1a;若修改了.ui文件&#xff0c;随手ctrls…...

【高级网络程序设计】Week2-3 HTML

一、The Basics 1. HTML&HTML file HTMLMarkup languageHyper Text Markup LanguageHTML fileText file with markup tags.htm/.html extension Create an html file Open an editor Type: <html><head><titile><body> Save it as .html Open i…...

来聊聊JVM中的类加载过程以及双亲委派模型(学习Java必知内容)

文章目录 1. 类加载过程加载验证准备解析初始化 2. 双亲委派模型一个类的加载流程双亲委派模型的优点 总结 1. 类加载过程 在整个 JVM 执行过程中, 和我们程序员关系最密切的就是类加载的过程, 所以接下来我们来看下类加载的执行流程. 对于一个类来说, 它的生命周期是这样的:…...

scala的类介绍

scala的类、抽象类、接口、对象 class :类&#xff0c; 通过new关键字来实例化&#xff0c;每次实例化都会创建一个新的对象&#xff1b;用来定义普通的类。object&#xff1a;对象&#xff0c;用来定义一个单例对象的&#xff0c;它只有一个实例&#xff0c;且在程序运行期间…...

1.Gin 介绍

1.Gin 介绍 介绍 Gin 是一个 Go (Golang) 编写的轻量级 http web 框架&#xff0c;运行速度非常快&#xff0c;如果你是性能和高效的追求者&#xff0c;我们推荐你使用 Gin 框架。 Gin 最擅长的就是 Api 接口的高并发&#xff0c;如果项目的规模不大&#xff0c;业务相对简单&a…...

华三无线控制器WX2540H配合准入做Portal认证

数据通信 - 建设篇 - 无线 第四章 华三无线控制器WX2540H配合准入做Portal认证 数据通信 - 建设篇 - 无线系列文章回顾华三无线控制器WX2540H配合准入做Portal认证前言其他配置优化参考来源系列文章回顾 第一章 华三无线控制器配置本地转发 第二章 华三无线控制器配置802.1X认…...

OAK相机通过振动测试!

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手君。 当…...

使用Pytorch从零开始构建RNN

在这篇文章中&#xff0c;我们将了解 RNN&#xff08;即循环神经网络&#xff09;&#xff0c;并尝试通过 PyTorch 从头开始​​实现其中的部分内容。是的&#xff0c;这并不完全是从头开始&#xff0c;因为我们仍然依赖 PyTorch autograd 来计算梯度并实现反向传播&#xff0c…...

Linux之实现简易的shell

1.打印提示符并获取命令行 我们在使用shell的时候&#xff0c;发现我们在输入命令是&#xff0c;前面会有&#xff1a;有用户名&#xff0c;版本&#xff0c;当前路径等信息&#xff0c;这里我们可以用环境变量去获取: 1 #include <stdio.h>2 #include <stdlib.h>…...

构建人格化AI聊天系统:从提示工程到向量记忆的实战指南

1. 项目概述与核心价值最近在折腾一个挺有意思的东西&#xff0c;一个名为sys-fairy-eve/nightly-mvp-2026-03-28-g0dm0d3-persona-chat的项目。光看这个标题&#xff0c;信息量就很大&#xff0c;它不像一个传统的软件应用&#xff0c;更像是一个特定版本、特定功能的“角色”…...

别让答辩 PPT 毁了你的毕业高光!Paperxie AI 一键拿捏专业答辩演示稿

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 答辩前一周还在和 PPT 死磕&#xff1f;论文内容提炼不全、模板老土又撞款、排版调了又调还是歪歪扭扭&#xff0c;最后赶出…...

国产MCU替代STM32,别只看引脚兼容,这三个坑你得知道

说起来&#xff0c;国产MCU替代STM32这事儿&#xff0c;这几年是真的火。芯片缺货、供应链安全、成本控制……各种原因让越来越多的工程师开始考虑或者已经在用国产方案了。引脚兼容&#xff0c;这个词大家肯定不陌生。很多国产MCU厂商在推广的时候&#xff0c;最喜欢强调的就是…...

从RNN到Transformer:位置信息处理的‘进化史’与实战选择指南

从RNN到Transformer&#xff1a;位置信息处理的‘进化史’与实战选择指南 在自然语言处理领域&#xff0c;序列建模的核心挑战之一是如何有效捕捉和利用位置信息。传统RNN架构通过其循环特性天然地处理序列顺序&#xff0c;而Transformer则彻底改变了这一范式&#xff0c;通过自…...

Win11桌面美化进阶:用Start11打造个性化全屏菜单,比动态壁纸更实用的生产力工具

Win11桌面美化进阶&#xff1a;用Start11打造个性化全屏菜单&#xff0c;比动态壁纸更实用的生产力工具 在数字工作空间日益重要的今天&#xff0c;一个高效且美观的桌面环境能显著提升专注度和工作效率。对于Windows 11用户而言&#xff0c;系统原生移除了备受喜爱的全屏开始菜…...

NCM音频格式解密技术解析:实现网易云音乐加密文件转换的核心原理

NCM音频格式解密技术解析&#xff1a;实现网易云音乐加密文件转换的核心原理 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump NCM格式解密技术为音乐爱好者提供了突破数字版权限制的专业解决方案&#xff0c;通过逆向工程分析和密码学…...

解决poi-tl合并Word时遇到的‘xsi前缀未绑定’报错:一个命名空间引发的血案

深入解析poi-tl合并Word文档时的XML命名空间陷阱 当你使用poi-tl库合并Word文档时&#xff0c;突然遇到"xsi前缀未绑定"的错误提示&#xff0c;这背后隐藏着Office Open XML(OOXML)格式的深层机制。这个看似简单的错误实际上揭示了Word文档内部XML结构的复杂性&#…...

LayUI表格(table)模块深度使用指南:从静态数据渲染到服务端分页与行内编辑

LayUI表格模块实战指南&#xff1a;从基础渲染到高级交互 1. 初识LayUI表格模块 在现代Web开发中&#xff0c;数据表格是展示结构化信息最常用的组件之一。LayUI作为一款轻量级的前端UI框架&#xff0c;其表格(table)模块凭借简洁的API和丰富的功能&#xff0c;成为众多开发者的…...

Video2X架构演进:从磁盘瓶颈到GPU内存流式处理的技术突破

Video2X架构演进&#xff1a;从磁盘瓶颈到GPU内存流式处理的技术突破 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/vi…...

联发科G85的红米12C,Root后性能真有提升吗?实测游戏帧率与后台管理变化

联发科G85的红米12C Root后性能实测&#xff1a;游戏帧率与后台管理的真相 当拿到一台售价仅699元的红米12C时&#xff0c;大多数人可能只期待它能流畅运行微信和抖音。但作为一款搭载联发科Helio G85处理器的设备&#xff0c;它实际上隐藏着更多可能性。Root操作就像打开了一扇…...