如用postman进行web端自动化测试(超详细解析)

前言

概括说一下,web接口自动化测试就是模拟人的操作来进行功能自动化,主要用来跑通业务流程。

主要有两种请求方式:post和get,get请求一般用来查看网页信息;post请求一般用来更改请求参数,查看结果是否正确变化;post请求还能用来验证字段的边界值、是否能为空和验证字段可输入的类型。

web接口测试只涉及http/https请求,需要输入的内容有:请求方法、url地址、header相关信息、body相关内容、断言,下面详细说明用postman做http请求的使用步骤。

一、抓包(使用Charles抓包工具)

二、选择请求方法

GET、POST等等

三、填写url地址

Charles中看到的host+path

四、填写Header

1.Content-Type常用类型:

(1)multpart/form-data                                    表单提交数据

(2)application/x-www-form-urlencoded         form表单提交数据 (请求时需要填写的具体参数在charles的form页签看)

(3)application/json                                         json提交数据

(4)text/xml                                                     xml格式提交数据

2.cookie

所有cookie信息会在登录成功后保存在客户端,一般里面会有个sessionid,动态存储在服务器的数据库中的,当下次再访问同一网站时,客户端cookie中存储的sessionid与数据库中的进行对比,如果两者一样,请求通过。

注意:在postman中会记录下每次请求后的cookie信息,如果不需要记得去删掉

3. User-Agent

伪装成浏览器

4.Referer

从什么地方跳转过来的

5.如果看到陌生的产品特有的header参数,需要询问开发是否要带上,可能不带上会算作非法请求

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!

2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...

五、填写body

有如下四种,具体选用哪种必须结合上面的Content-Type类型,不一样的话会有415报错

1.form-data(对应上面的multpart/form-data )可以上传文件file

2.x-www-form-urlencoded(对应上面的application/x-www-form-urlencoded)

3.raw(对应上面的application/json或者text/xml)

4.binary(用来上传文件的)

六、断言(Tests页)

没有断言的自动化测试是没有意义的,断言就是校验这个结果是不是我们的预期值,是的话会返回true。postman本身就有很多写好的断言,点击就会生成。

1.协议状态码校验

2.业务状态码校验

3.数据校验

注意:断言里的值不能填动态/静态参数{{}}哦!!

七、获取动态参数——例如token

token是每次登录成功后服务器返回给客户端的随机32位字符串,之后的在线操作都需要带上token,防止非法访问,下线后会销毁,下次登录会生成一个新的。

在postman中保存动态参数的方法:

1.pm.environment.set("token_key", data.token);

2.调用时用{{token_key}}

八、设置静态参数(请求地址、账号密码等)

测试套件中可以添加设置静态参数,调用时用{{url}}

九、创建测试套件(多个有顺序的请求集合)

测试套件在自动化中是很有必要的,可以按顺序自动执行套件里的所有请求

十、response中的协议状态码和产品业务状态码

协议状态码是http定义好的,例如404页面没找到,例如上面的415报错headers和body不一致,例如500报错服务器处理出现错误(想了解更多可以自行百度)

业务状态码是产品开发自己定义的

注意:如果发送请求后发现返回中提示“could not get any response”,记得去chales中stop SSL Proxying!!
 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot3-核心原理

生命周期监听 场景:监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件; 1.1. 编写SpringApplicationRunListener 实现类 1.2. 在 META-INF/spring.factories 中配置 org.springframework.boo…

安装vcpkg管理opencv的安装+MFC缺失的解决

第一步,出现#include没有办法找到opencv头文件的问题,无法解决 在VC的提示下,安装了vcpkg,然后用vcpkg命令来帮助安装opencv,过程十分顺利。 1. cmd 到命令行窗口; 2. 建立src文件夹,并进入…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)Channel 模块的实现

在这篇文章中虽然实现了能够和多客户端建立连接,并且同时和多个客户端进行通信。 基于多反应堆的高并发服务器【C/C/Reactor】(上)-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135141316?spm1001.2014.3001.5501但是有…

探索微软Edge:使用方法和心得分享

学习目标: 了解微软Edge的基本功能和使用方法。掌握在微软Edge上进行浏览、搜索和书签管理的技巧。学习如何使用微软Edge进行隐私和安全管理。探索微软Edge的扩展和其他高级功能。 学习内容: 微软Edge的简介:了解微软Edge的起源、特点和与其…

双非本科求职_面试经验_上集

前言 后知后觉开始找实习,也马上进入秋招,写此文一方面是记录一下我的面试经历作为复盘,另一方面也给同样在广州,双非二本的同志一个参考(快来看菜鸟),从而获得一定的动力和自信,毕…

面试题:JVM 对锁都进行了哪些优化?

文章目录 锁优化自旋锁和自适应自旋锁消除锁粗化逃逸分析方法逃逸线程逃逸通过逃逸分析,编译器对代码的优化 锁优化 jvm 在加锁的过程中,会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 自旋锁和自适应自旋 现在大多的处理器都是…

【方案】如何利用大数据+云计算技术打造智能环境监控系统?

小编在之前的文章中也提到过基于云计算的环境智能监控系统是什么样的,收到了很多朋友的关注,今天小编就再次根据智能监控为切入点,深入讲解智能环境监控系统方案的详细落实。 1、传感器节点:首先需要选择适合应用场景的各类传感器…

【ArduinoOTA无线(OTA)更新的EASY指南】

【ArduinoOTA无线(OTA)更新的EASY指南】 1. 前言2. 了解 ESP32 的 ArduinoOTA3. 无线更新案例4. ArduinoOTA入门5. 安装必备组件6. 设置硬件7. ESP32 OTA 的最低代码8. 按照我们的流程学习Arduino编程➜9. 这对OTA来说非常重要10. 通过无线方式将草图上传…

渗透实验 XSS和SQL注入(Lab3.0)

windows server2003IIS搭建 配置2003的虚拟机 1、利用AWVS扫描留言簿网站(安装见参考文档0.AWVS安装与使用.docx),发现其存在XSS漏洞,截图。 2、 Kali使用beef生成恶意代码 cd /usr/share/beef-xss./beef执行上面两条命令 …

【小沐学Python】Python实现Web服务器(aiohttp)

文章目录 1、简介2、下载和安装3、代码测试3.1 客户端3.2 服务端 4、更多测试4.1 asyncio4.2 aiohttpHTTP服务器4.3 aiohttp爬虫实例4.4 aiohttprequests比较 结语 1、简介 https://github.com/aio-libs/aiohttp https://docs.aiohttp.org/en/stable/index.html Asynchronous …

基于DeepSpeed对 llama2-7b的LORA精调

DeepSpeed数据并行研究 1. 技术调研 a. DeepSpeed DeepSpeed是一个开源深度学习训练优化库,其中包含一个新的显存优化技术—— ZeRO(零冗余优化器)。该框架包含四个技术亮点: 用 3D 并行化实现万亿参数模型训练: D…

「数据结构」二叉树2

🎇个人主页:Ice_Sugar_7 🎇所属专栏:初阶数据结构 🎇欢迎点赞收藏加关注哦! 文章目录 🍉前言🍉链式结构🍉遍历二叉树🍌前序遍历🍌中序遍历&#x…