Postman接口测试脚本编写规范

 

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客跳槽涨薪的朋友们有福了,今天给大家推荐一个软件测试面试的刷题小程序。https://blog.csdn.net/weixin_54696666/article/details/139783730?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/weixin_54696666/article/details/139783730?spm=1001.2014.3001.5501

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.整个流程的开发程

 使用接口测试业务流程,需要对产品需求、产品所涉及的行业有一定的深度的了解,业务流程分为通用流程和被测产品专用流程。

通用流程如注册登录、上传文件等,专用流程是被测产品特有的流程,以创盟项目为例

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值