postman 不安全网站_浅谈接口测试—初步认识postman
顾翔老师的《软件测试技术实战设计、工具及管理》网上购买地址:
https://item.jd.com/34295655089.html
《基于Django的电子商务网站》网上购买地址:
https://item.jd.com/12082665.html
店铺二维码:
来源:http://www.51testing.com
我们如果在命令行发送post请求,会很麻烦,效率不高。同时也不方便接口的管理,所以一些优秀的接口测试工具应运而出,postman就是绕不开的话题之一
1. 主要功能
postman主要帮我们干了三件事:
把相关集合放到一个集合当中方便管理
对指定接口发送请求
下面我们使用postman工具操作getList接口:
新建一个集合TestDemo,用来管理相关用例
添加一条请求(addRequest)
编辑请求,修改url,请求方式和参数
发送请求查看结果
以上步骤,是postman的主要功能,也是我们前三个小节一直叨念的部分,只不过通过postman来完成,下面是前面没有讲到过的东西----断言
断言
按照截图打开断言区域:
我们按照用例来设置断言:
设计用例(功能):
是否按照创建时间倒序排列
是否返回指定的条数
pm.test("是否含有create_time节点", function () { pm.expect(pm.response.text()).to.include("create_time");});pm.test("返回2条数据", function () { var jsonData = pm.response.json(); var num = jsonData.result.length; pm.expect(num).to.eql(2);});pm.test("时间倒序排列", function () { var jsonData = pm.response.json(); var time1 = jsonData.result[0].create_time; var time2 = jsonData.result[1].create_time; pm.expect(time2).to.be.below(time1);});
发送请求后,店家Test Results查看结果如下:
红色的提示表示断言失败,这个时候我们需要修改接口代码(getList_fix.php):
<?php // 告诉浏览器返回为json类型header('Content-Type:application/json; charset=utf-8');// 获取参数$page = $_GET['page'];$size = $_GET['size'];/** * 在真正的开发过程中,会操作数据库,我们暂时用一个多维数组代替 */$data_list = array( array('id'=>1,'name'=>'成龙','create_time'=>1587890857000), array('id'=>2,'name'=>'周润发','create_time'=>1587804457000), array('id'=>3,'name'=>'周星驰','create_time'=>1587690857000), array('id'=>4,'name'=>'李连杰','create_time'=>1587590857000), array('id'=>5,'name'=>'梁朝伟','create_time'=>1587490857000), array('id'=>6,'name'=>'张曼玉','create_time'=>1587390857000), array('id'=>7,'name'=>'惠英红','create_time'=>1587290857000), array('id'=>8,'name'=>'林青霞','create_time'=>1587190857000), array('id'=>9,'name'=>'王祖贤','create_time'=>1587090857000), array('id'=>10,'name'=>'巩俐','create_time'=>1586890857000));foreach($data_list as $key=>$value){ if($key >= ($page -1) * $size && $key < $page * $size){ $temp[] = $value; }}// 组织的数据$data = array( 'code' => 200, 'msg' => '请求成功', 'result' => $temp);// PHP数组转json$rst = json_encode($data,JSON_UNESCAPED_UNICODE);// 打印结果echo $rst;
按照上面的流程,创建一个请求,添加断言,在此访问返回结果如下:
返回绿色说明测试通过
稳重的断言代码是由js编写,大家书写断言的时候不要被代码吓到,因为postman已经提供了比较丰富的断言片段,直接点击即可生成。
————————————————————
顾老师课程欢迎报名
软件安全测试
https://study.163.com/course/courseMain.htm?courseId=1209779852&share=2&shareId=480000002205486
接口自动化测试
https://study.163.com/course/courseMain.htm?courseId=1209794815&share=2&shareId=480000002205486
DevOps 和Jenkins之DevOps
https://study.163.com/course/courseMain.htm?courseId=1209817844&share=2&shareId=480000002205486
DevOps与Jenkins 2.0之Jenkins
https://study.163.com/course/courseMain.htm?courseId=1209819843&share=2&shareId=480000002205486
Selenium自动化测试
https://study.163.com/course/courseMain.htm?courseId=1209835807&share=2&shareId=480000002205486
性能测试第1季:性能测试基础知识
https://study.163.com/course/courseMain.htm?courseId=1209852815&share=2&shareId=480000002205486
性能测试第2季:LoadRunner12使用
https://study.163.com/course/courseMain.htm?courseId=1209980013&share=2&shareId=480000002205486
性能测试第3季:JMeter工具使用
https://study.163.com/course/courseMain.htm?courseId=1209903814&share=2&shareId=480000002205486
性能测试第4季:监控与调优
https://study.163.com/course/courseMain.htm?courseId=1209959801&share=2&shareId=480000002205486
Django入门
https://study.163.com/course/courseMain.htm?courseId=1210020806&share=2&shareId=480000002205486
啄木鸟顾老师漫谈软件测试
https://study.163.com/course/courseMain.htm?courseId=1209958326&share=2&shareId=480000002205486
postman 不安全网站_浅谈接口测试—初步认识postman相关推荐
- 《计算机辅助教学及应用实践研究》,《论文_浅谈计算机辅助教学(定稿)》
<论文_浅谈计算机辅助教学(定稿)> (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 摘要:计算机辅助教学中要用到多媒体课件 ...
- python判断两个对象是否为相等使用的运算符是_Python入门_浅谈逻辑判断与运算符...
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...
- python命名规则数字开头的成语_浅谈Python中带_的变量或函数命名
搜索热词 Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就 ...
- python sys模块作用_浅谈Python中的模块
模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...
- java bitset用途_浅谈Java BitSet使用场景和代码示例
搜索热词 @H_502_0@一.什么是BitSet? @H_502_0@ 注:以下内容来自JDK API: @H_502_0@ BitSet类实现了一个按需增长的位向量.位Set的每一个组件都有一个b ...
- python的re2和re区别_浅谈Python中re.match()和re.search()的使用及区别
1.re.match()fvk免费资源网 re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None.fvk免费资源网 包含的参数如下: ...
- movielens推荐系统_浅谈推荐系统+3个小时上手python实现(完整代码)
已经9012年了应该也不需要我解释什么是推荐系统,大致就像头图一样,挖掘用户的喜好,精准的推送给用户ta想要的东西!推荐系统可以说是无处不在了,电商的猜你喜欢,浏览器右侧的推送消息,包括搜索结果的排序 ...
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- postman 不安全网站_接口工具分析(apipost、jmeter、postman)
一.接口都有哪些类型? 接口一般分为两种:1.程序内部的接口 2.系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好 ...
最新文章
- 2017年深度学习必读31篇论文(附下载地址)
- 2台xenserver组成的资源池开启HA存在的问题
- 019_MySQL正则表达式
- 什么是ABAP的STATE_READ_ACCESS
- 福大软工 · 第十二次作业 - Beta答辩总结
- linux标准I/O——按行输入和输出
- java 静态方法_80后程序员,教你学Java核心技术:用户自定义类+静态域静态方法
- 雷军:小米11的屏幕是小米手机有史以来最贵且最好的屏幕
- java环境怎么搭,如何搭建一个完整的Java开发环境
- linux 查看内存和cup使用率
- 使用 tftp 无法向服务器上传文件问题解决
- 基于树莓派的语音机器人
- Deeping下docker简单使用
- Ubuntu安装bluefish2.0.最新版本方法
- 一名IT民工开通博客
- 用python绘制家乡汕头的地标建筑
- pos共识机制_PoS共识机制是什么?其优缺点分别是什么?
- 全志r58能使用linux内核么,全志R58怎么样 R58芯片参数介绍
- ZOJ:3716 Ribbon Gymnastics
- 《Reverse Engineering for Beginners》读书笔记(一):前言