postman接口测试脚本编写规范

tombombadil tombombadil     2022-12-18     725

关键词:

Postman接口测试脚本编写规范
1.前言
  • 本规范的目的是保证测试部成员编码的统一。
  • 本规范的核心规则就是接口测试脚本命名规则。
2.名词解释
  • 业务流程测试用例:关于产品业务、重要流程的测试用例。
3.接口测试脚本规范
3.1接口测试脚本编写的规范
1)基本信息
在每个脚本模块的最上面,必须写上脚本编写人(使用英文名或中文拼音缩写)、脚本创建时间、脚本修改时间、修改说明、输入参数、输出参数、脚本描述等。
2)命名规范
常量、变量、参数、函数的命名统一采用驼峰命名法,即第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,
例如:myFirstName、myLastName。
3)代码注释规范
注释要尽量简单,清晰明了。着重注释的意思,对不太直观的部分进行注解。此外,JavaScript 的注释有两种"//" 和"/* .... */",建议"//"用作代码行注释,"/* .... */"形式用作对整个代码段的注销,或较正式的声明中,如函数参数、功能、文件功能等的描述中。
4)空行
空行是区分代码块与块的间隔,在函数之间必须加上空行;而在函数内部,变量声明块和实现块(实现块指除变量声明外的其他代码)要使用空行来间隔,实现块的内部,通过空行来标识一个功能段。
5)缩进
必须严格执行缩进,变量声明块不缩进,实现块必须保证全部缩进(不可能有实现块是行首对齐的);对于基本的控制结构来说,必须要有缩进,如IF、DO、WITH、FOR、WHILE块。
6)续行
对于过长的语句来说,必须使用续行,续行位置要有明显意义,例如,sql ="SELECT [code],[name] FROM [Person]"_&"WHERE [code] LIKE‘001%‘"。
7)==和!=
在JS中有=、==、===三种形式,其中“=”表示赋值、“==”表示一般比较只要求值相等,“===”表示严格比较要求值和类型都相等。一般情况下除赋值外,比较采用“==”即可。
8)[ ]和
[  ]表示数组,  表示对象
注意:在任何地方,不要写ElseIf语句,最好转换成If…Else…Endif结构。
3.2 Postman使用规范
1)环境变量和全局变量
变量命名规则同样采用驼峰命名法。
2)文件夹和单个接口脚本的描述
文件夹是一组具有逻辑关系或是属于相同模块的接口集合(如购买流程、用户个人中心模块),在其描述中要注明a.执行该组接口的前提条件;b.执行该组接口的内容;c.执行该组接口的目的。
单个接口是指具体到接口的用途如上传文件、创建项目、获取列表等,在其描述中同样需要注明a.执行该接口的前提条件;b.执行该接口的内容;c.执行该接口的目的。
3)Postman—tests内置脚本
(1). 清除一个全局变量 Clear a global variable
   对应脚本: 
   postman.clearGlobalVariable("variable_key");
参数:需要清除的变量的key
(2).清除一个环境变量  Clear an environment variable
   对应脚本: 
   postman.clearEnvironmentVariable("variable_key");
参数:需要清除的环境变量的key
(3).response包含内容  Response body:Contains string
   对应脚本: 
   tests["Body matches string"] =responseBody.has("string_you_want_to_search");
参数:预期内容 
(4).将xml格式的response转换成Json格式  Response body:Convert XML body to a JSON Object
   对应脚本:    var jsonObject = xml2Json(responseBody);
参数:(默认不需要设置参数,为接口的response)需要转换的xml
(5).response等于预期内容  Response body:Is equal to a string
   对应脚本: 
   tests["Body is correct"] = responseBody === "response_body_string";
参数:预期response
(6).json解析key的值进行校验 Response body:JSON value check
   对应脚本: 
   tests["Args key contains argument passed as url parameter"] = ‘test‘ in responseJSON.args
参数:test替换被测的值,args替换被测的key
(7).检查response的header信息是否有被测字段 Response headers:Content-Type header check
   对应脚本: 
   tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
参数:预期header
(8).响应时间判断 Response time is less than 200ms
   对应脚本: 
   tests["Response time is less than 200ms"] = responseTime < 200;
参数:响应时间 
(9).设置全局变量 Set an global variable
     对应脚本: 
     postman.setGlobalVariable("variable_key", "variable_value");
     参数:全局变量的键值 
(10).设置环境变量 Set an environment variable
     对应脚本: 
     postman.setEnvironmentVariable("variable_key", "variable_value");
     参数:环境变量的键值 
(11).判断状态码  Status code:Code is 200
     对应脚本: 
     tests["Status code is 200"] = responseCode.code != 400;
     参数:状态码 
(12).检查code name 是否包含内容 Status code:Code name has string
     对应脚本: 
     tests["Status code name has string"] = responseCode.name.has("Created");
     参数:预期code name包含字符串 
(13).成功的post请求Status code:Successful POST request
     对应脚本: 
     tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
(14).微小验证器Use Tiny Validator for JSON data            
      对应脚本:  
        var schema =         "items":         "type": "boolean" ;        var data1 = [true, false];        var data2 = [true, 123];        console.log(tv4.error);
       tests["Valid Data1"] = tv4.validate(data1, schema);
       tests["Valid Data2"] = tv4.validate(data2, schema);
       参数:可以修改items里面的键值对来对应验证json的参数 
4.单个接口测试  
1)接口 
接口是组成流程测试的基本单元,组合不同的业务接口可以实现不同的业务流程测试。如创建项目+查询项目+修改项目组成了一个关于项目的测试流程。
2)接口测试的优点 
5.整个流程的开发过程
 使用接口测试业务流程,需要对产品需求、产品所涉及的行业有一定的深度的了解,业务流程分为通用流程和被测产品专用流程。
通用流程如注册登录、上传文件等,专用流程是被测产品特有的流程,以创盟项目为例
 技术图片

 

 

postman接口测试07_导出测试脚本

前言使用postman进行接口测试的过程中,发现postman还有一个很强大的功能,可以导出测试脚本,支持C、C#、java、python...等多种格式的脚本,为接口自动化提供了很大的便利。导出测试脚本接口详情页->点击code 选择脚本语言... 查看详情

postman的测试脚本

测试脚本一、前言二、Tests基础知识一、前言  Postman工具借助测试脚本来帮助用户自动判断接口请求是否正确,相对于LoadRunner工具中的检查或者Jmeter中的断言公能。二、Tests基础知识  如果将与请求脚本看成是接口的前... 查看详情

postman+newman+jenkins持续集成接口自动化测试脚本

...以说是最低级的测试。那么本章节给大家介绍一种自动跑postman脚本的方法。使用Newman配合Jenkins来自动执行postman工具调试好了的脚本,以达到实时监控项目接口运行状态的目的。首先,需要安装的一个工具是nodejs,而且根据GitHub... 查看详情

postman测试接口通过脚本动态设置请求头参数

参考技术A1、设置环境变量appId和secret2、设置脚本 查看详情

postman+newman脚本化接口测试(代码片段)

...变量与环境变量全局变量只有一组,环境变量可以有多组;postman先尝试从环境变量中获取变量,获取不到则尝试从全局变量中获取变量;使用少的,建议使用全局变量;使用多的,建议使用环境变量 查看详情

接口测试怎么才能做好?

...要你对接口协议有一定的了解,选择适当的开源工具(如postman)或者自己编写脚本进行模拟请求。2.需要熟悉接口所使用的中间件等知识(比如red 查看详情

postman进阶——测试脚本的编写

...如何自动判断响应是否正确?这就需要用到Tests的知识。postman支持javascript,允许测试人员给请求和集合添加动态行为,通过使用javascript脚本,可以构建包含动态参数的请求,在请求之间传递数据。可以在下面两个事件流中添加j... 查看详情

postman接口功能测试

postman介绍&测试准备:postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备:测试前,需要安装好postman,客户端版本跟插件版本都行,根据个人需要选择安装... 查看详情

postman接口功能测试介绍

Postman接口功能测试介绍posman介绍&测试准备  Postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。  前期准备:测试前,需要安装好postman,客户端版本跟插件版本... 查看详情

如何用postman做接口测试

postman介绍&测试准备:postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备:测试前,需要安装好postman,客户端版本跟插件版本都行,根据个人需要选择安装... 查看详情

postman接口功能测试介绍

Postman介绍&测试准备Postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。  前期准备:测试前,需要安装好postman,客户端版本跟插件版本都行,根据个人需要选择安... 查看详情

接口测试-postman篇

一:接口文档说明接口一:获取学生信息?接口二:login?接口三:添加学生信息?接口四:学生金币充值?接口五:获取学生信息?接口六:文件上传?二:HTTP粗解HTTP特点:HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速... 查看详情

postman接口测试工具

1、postman工具介绍 postman是谷歌开发的一款功能强大的网页调试与发送网页http/https请求并能运行测试用例的接口工具 2、功能作用 模拟请求、集合、设置环境变量、添加tests断言脚本(js)、可单独执行接口、批量接口... 查看详情

python接口自动化测试:postman使用-用例执行(代码片段)

...,没有断言就相当于没有预期结果是不完整的,Postman给我们提供了方便的断言方式可以通过JS脚本来编写Pre-requestScript和TestsScriptPre-request Script:预置脚本,可以用来修改一些默认参数,在请求发送之前,有点... 查看详情

再见postman,我选择apipost(代码片段)

...一体化协作性能非常强大的工具。简单说:ApiPost=Postman+Swagger+Mock+JMeter接口开发工作通常需要前端、后端、测试、技术经理等多个岗位协作,但因为流程长所以难管理,不同工具之间数据也缺乏统一规范&#x... 查看详情

超越postman,国产接口联调工具新选择-apipost

1.Apipost是什么Apipost=接口调试+接口文档快速生成+接口文档规范化管理+MockAPI+接口流程测试。Apipost产生的初衷是为了提高研发团队各个角色的效率!产品的使用受众为由前端开发、后端开发和测试人员以及技术... 查看详情

postman接口测试_设置断言

一、常见的5种断言方法 Postman是一款非常强大的API接口调式工具,它自带断言方法,不需要学习JavaScript脚本,非常方便。(1)Statuscode:Codeis200(校验接口返回结果的状态码)  (2)Responsebody:Containstring(校验接口返回结... 查看详情

前后端联调,比postman更好用的国产接口调试工具:apipost

...研发和联调时存在的痛点:开发团队使用多个API工具(Postman、Yapi、Swagger等),多个工具之间数据难以打通。API文档编写繁琐、设计不规范、缺乏统一文档格式等;缺乏版本管理,API变更没有通知;测试人员难以... 查看详情