首页 > 其他分享 >2023最全的Web自动化测试介绍(建议收藏)

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

时间:2023-11-23 15:59:44浏览次数:35  
标签:Web 一个 最全 2023 Selenium 用例 测试 自动化 我们

做测试的同学们都了解,做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失败了,怎样收集信息呢?很多情况下,测试用例失败后,我们并不能准确知道哪里失败了,这个时候就需要进行截图,打印执行日志等,必要的时候甚至断点调试。

总结

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

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:320231853,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

搜索

复制

标签:Web,一个,最全,2023,Selenium,用例,测试,自动化,我们
From: https://www.cnblogs.com/nhb1234/p/17851717.html

相关文章

  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第十一周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第十一周学习笔记一、任务要求自学教材第13章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X......
  • 2023-2024-1学期20232423《网络空间安全导论》第三周学习总结
    防火墙的那个部分最容易被攻陷,加固方法有哪些教材学习——网络安全基础3.1网络安全概述3.2网络安全防护技术对于计算机来说,可攻破的入口有很多,所以需要我们不断地提升技术、寻找防护方法,并不断加固我们的防御。3.3网络安全工程与管理3.4新型网络及安全技术对于新生......
  • web图片上传 【flask+vue2】
    直接上传代码demofromflaskimportFlask,request,jsonifyimportosfromflask_corsimportCORS#导入CORS模块#文件存储的目录UPLOAD_FOLDER='uploads'ALLOWED_EXTENSIONS={'png','jpg','jpeg','gif'}app=Flask(_......
  • 界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表界面组件DevExpressReportingv23.1已经发布一段时间了,新版本增强了Web报表设计器的自定义......
  • 华为云WebAssembly代码静态符号执行技术实现新突破
    本文分享自华为云社区《华为云WebAssembly代码静态符号执行技术实现新突破,相关论文被软件工程顶会ISSTA2023接收并荣获杰出论文奖》,作者:华为云软件分析Lab。WebAssembly(Wasm)最初由W3C的Mozilla、谷歌、微软、苹果等著名公司合作研发,最初是作为浏览器内应用程序的高性能执行引擎......
  • IDEA 2023
    IDEA2023.2以上版本,寻找不到添加JavaWeb框架,没有Addframeworksupport选项的解决方案关于此问题,在网上试了很多方法,但都没有成功,比如说1,可以通过Settings菜单进行添加,选择addaction,搜索addframeworksupport,点击ok,最后点击apply->ok2,先点help,再点击FindAction,搜索addf......
  • web目录扫描工具——dirpro
    工具可自行在GitHub上下载:https://github.com/coleak2021/dirprodirpro是一个绿色版工具,无需安装。下载完成后直接解压出来,通过Python运行即可。示例:利用dirpro工具扫描百度网址目录cdD:\*\dirpro-mainpythondirpro.py-uhttps://www.baidu.com/ 参数解析:-u......
  • SketchUp2020-2023官方中文语言包安装问题修复
    在2020以后的版本里,官方出的中文语言包如果不是在安装SketchUp本体而是本体安装完毕后单独安装的,那么这个语言包安装后的文件路径和注册表会默认是2020的版本,也就是说SketchUp官方对于中文社区的态度就是反正很多人都是用盗版,随便糊弄一下就可以了.因此,这个中文语言包......
  • Spring_2023_11_23_1 Spring--整合JDBC===》JdbcTemplate
    Spring--整合JDBC===》JdbcTemplateListquery(Stringsql,RowMapperrowMapper,@NullableObject...args)Stringsql执行的sql语句,可以使用占位符RowMapper接口:2.1mapRow(ResultSetrs,introwNum):查询出数据的每一行的映射2.1.1ResultSetrs:结果中存储的是一......
  • C#.NET 循环字符串 V20231123
    C#.NET循环字符串V20231123 publicstaticboolIsIllegalOutTradeNo(stringOutTradeNo){foreach(chariteminOutTradeNo){if(item=='('||item==')'||item==','||item=......