2019-05-10

[if !supportLists]一. [endif]测试用例的管理

1.创建测试用例集、子集

如下图,点击postman左侧Collections下面有个添加文件夹图标,就可以创建测试用例集啦~一个系统、模块或其他分类粒度的测试用例可以存放在该目录下。

另外,该目录下还可以创建子目录,进行测试用例的细分,如下图

2.创建测试用例,添加到测试集

      创建接口测试用例,即新建http请求,选择请求方式、写好url、请求头、请求体。点击“Send”右边的 “Save” 按钮,输入 Request 的名称、描述,选中我们刚才的新建的 “TestCollection” 收藏夹,就可以了,如下图所示

选择新增测试集还是保存到已有的测试集:

     随着放入Collection的请求越来越多,混乱就又出现了,在找一个请求时,要找半天,于是将collection中的请求分门类别就很重要了,于是,在collection中就可以添加Folder了,将相同场景的请求放入同一个Folder中,于是就实现了模块化的管理了。

  点击下图中的Add Folder后,即可创建Folder

       添加上Folder name,即模块名称后,点击Create,创建成功一个Folder。

       接下来,只需要把相同场景的请求拖入相同的Folder即可,这样就实现了模块化的管理了。模块化以后的结构。

3.运行Collections

  将工程模块化的用例管理起来后,借着这个管理起来的东风,也可以将工程模块化的用例执行起来,即一次执行一整个collection里的用例,或者执行一个collection里的某一个Folder里的用例。

 Environment,即运行环境,是开发环境还是测试环境,需事先配置,大家可以下去自已尝试一下。

  Iterations,即重复运行次数。会将选择好的collection中folder重复运行。

  Delay,间隔时间。用例与用例间的间隔时间。

  Data,外部数据加载,即用例的参数化,可以与Iterations结合起来用,实现参数化,也就是数据驱动。之后有机会再讲这个。

  Run agileOne,点击运行,运行完成后,即可得出一个简易的聚合报告。

   查看测试集的运行结果。

二、批量执行用例

1.设置变量

postman的变量和Jmeter的参数化相似,即把若干处出现多次的数值用一个变量表示,达到一次修改、多处生效的效果,便于修改和管理。

点击postman上方一个按钮,点击“Manage Ebvironments”,

选择Globals添加全局变量

Key值写变量名称,Value值写变量对应的数值,点击Update按钮进行保存

把Value值出现过的地方用{{key}}代替,比如以上面的截图为例,出现http://172...57:8080的位置使用“{{baseURL}}”代替.

2.添加响应处理--断言

响应处理有点类似Jmeter里的检查点,即通过检查响应数据是否符合预期来判断test是否通过。在Tests中添加检查条件,postman提供了一些常用的检查条件的代码,直接添加或稍加修改即可。如:响应数据的状态码为200,则判断测试通过,则在代码片中选择“status code:code is 200”。

一个完整的接口测试,包括:请求->获取响应正文->断言,利用postman进行断言。

Tests

这个”Tests”就是我们需要处理断言的地方,postman很人性化的帮我们把断言所用的函数全给准备好了:

SNIPPETS

举例说明:首先设置一个断言场景,根据断言场景来举例说明Postman断言如何使用。

1、判断HTTP返回状态码为200

2、判断响应正文中是否包含:"statusCode":200

3、解析响应正文,并判断statusCode的值是200,message的值是”Success”

第一步:在SNIPPETS中,往下拉,有一项”Status code:Code is 200”,这个就是为场景中的第 1 条准备的,判断HTTP返回状态码是否为200。点击这一项,可以看到在其左边,断言代码自动添加,见下图:

status code

解释一下这句代码的意思:

tests["Status code is 200"]中的tests是一个内置对象,tests["Status code is 200"]是指为这个断言起个名称叫”Status code is 200”,这个名称可以自行修改。

responseCode.code === 200中的responseCode是内置对象,responseCode对象中有个属性是code,是指HTTP状态码的code,判断code是否为200.

综合起来,这句代码的意思是:名称为”Status code is 200”的断言中,判断responseCode对象的code属性值(HTTP状态码)是否为200。

第二步:同样在SNIPPETS中,找到一项”Response body:Contains string”,这个就是为场景中的第2条准备的,判断响应正文中的字段。点击后,在其左边,断言代码自动添加,见下图:

你可能感兴趣的:(2019-05-10)