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接口测试脚本编写规范的更多相关文章

  1. postman(九):postman接口测试脚本集成到jenkins

    本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...

  2. appium+python 【Mac】UI自动化测试封装框架介绍 <七>---脚本编写规范

    脚本的使用,注释非常关键,无论自己的后期查看还是别人使用,都可以通过注释很明确的知道代码所表达的意思,明确的知道如何调用方法等等.每个团队均有不同的商定形式来写脚本,因此没有明确的要求和规范来约束.如 ...

  3. shell脚本编写规范和相关变量类型

    shell编程规范与变量    一.shell脚本概述    ① 什么是shell? Linux中有哪些shell?    ② shell的作用   ③ 用户的登录shell    ④ shell脚本 ...

  4. robotframework 脚本编写规范

    测试集.脚本 测试脚本的名字不要超过20个字符,文件类型应该为txt  名字必需易读且有意义(看名知意)  记住测试集的名字是自动根据文件.目录的名字创建的.后缀名会被截去,下划线会转换为空格,如果名 ...

  5. 【Shell Basic】Shell脚本编写规范

    shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...

  6. robot脚本编写规范

    一个robot脚本主要有四部分组成: ***settings*** 设置 ***keywords*** 关键词 ***variables*** 变量 ***test cases*** 测试用例 一般, ...

  7. Shell脚本编写规范

    shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...

  8. java+selenium脚本编写规范

    2.    源文件规范 2.1    文件名 源文件以最顶层的类名来命名,大小写敏感,文件扩展名为.java 2.2    文件编码 UTF-8 源文件要求编码格式为UTF-8 2.3    源文件结 ...

  9. Shell脚本开发规范

    一.前言 由于工作需要,最近重新开始拾掇shell脚本.虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看.而且当我在看其他人写的脚本的时候,总觉得难以阅读.毕竟shell脚本这 ...

随机推荐

  1. 04.python哈希表

    python哈希表 集合Set 集合,简称集.由任意个元素构成的集体.高级语言都实现了这个非常重要的数据结构类型. Python中,它是可变的.无序的.不重复的元素的集合. 初始化 set() -&g ...

  2. 初识python: 生成器

    生成器定义理解,直接上代码: #!/user/bin env python # author:Simple-Sir # time:20181005 # 生成器 ''' # 列表生成式 a=[i for ...

  3. [ bootstrap ] 实现卡片里面包含图片、内容、操作按钮,形成左中右的布局

    描述: 如图 实现: <div class="card border-0 mb-3 mt-3"> <!-- 列表头部 --> <div class=& ...

  4. linux .gz文件 压缩与解压缩命令

    1. 压缩文件 gzip 源文件 如压缩 b.txt 使用命令 gzip b.txt 注意 压缩为 .gz 文件 源文件会消失 如果想保留源文件 使用命令 gzip -c 源文件 > 压缩文件 ...

  5. javascript错误类型

    ECMA-262 定义了下列 7 种错误类型,简单说明如下: Error:普通异常.通常与 throw 语句和 try/catch 语句一起使用. 利用属性 name 可以声明或了 解异常的类型,利用 ...

  6. 利用Word2010制作流程图

    利用Word2010制作流程图 原文链接:https://www.toutiao.com/i6483034968225235469/ 一.页面和段落的设置 启动Word2010,打开一个空白文档,并切 ...

  7. 论文翻译:2021_ICASSP 2021 ACOUSTIC ECHO CANCELLATION CHALLENGE: INTEGRATED ADAPTIVE ECHO CANCELLATION WITH TIME ALIGNMENT AND DEEP LEARNING-BASED RESIDUAL ECHO PLUS NOISE SUPPRESSION

    论文地址:https://ieeexplore.ieee.org/abstract/document/9414462 ICASSP 2021声学回声消除挑战:结合时间对准的自适应回声消除和基于深度学习 ...

  8. jQuery里的mouseover与mouseenter事件类型区别

    JQ里面有mouseover和mouseenter  2个事件类型干着差不多的活,用不好经常出现些小问题. 今天我解释一下原理: 事件类型翻译: mouseover 鼠标移上 mouseenter 鼠 ...

  9. 友善之臂mini2440光盘资料下载FriendlyARM-2440-DVD.7z

    这是我目前找到最全面的友善之臂mini2440的光盘资料了,几乎支持mini2440的各种lcd屏幕.另外,Windows平台工具文件夹下还有版本比较新的MiniTools,这是一个非常好用的软件! ...

  10. 实习之bii--在vsphere client 给esxi上的虚拟机增加U盘识别

    esxi上安装虚拟机默认不包含U盘控制器,在服务器上插U盘也不会识别,所以要通过客户端登陆esxi管理为虚拟机增加U盘控制器,步骤如下: 1.首先登陆服务器的管理ip 2.选择一部虚拟机,进行编辑设置 ...