Postman自动化

上面讲的都是利用Postman进行手工测试的操作,如果我们想提高测试效率,或可以在测试过程中假如自动化的代码,将代替一分部的手工操作。利用Postman进行自动化测试通常是两种方式:

一种是利用Postman自身js代码执行沙盒,在发送请求之前写一些设置发送消息的代码。比如产生随机数字,填入当前日期时间到参数里,在接收到响应之后,写一些判断接收数据的代码。比如某个字段是否存在,某个字段的值,是否和预期的一样等。

二是利用Postman自动生成其他编程语言代码,比如使用requests库的Python代码,直接发送相应的HTTP请求消息。当然我们同样可以使用Python代码,对请求消息加入一些动态的数值,并且检查接收的响应消息。

9.1 使用js脚本

Postman内置一个js语言的解释器,我们可以在API请求发送接收的前后,加入一些js代码,如下图所示的Pre-request Script 便签页里面可以加入的代码postman.setEnvironmentVariable('cureTime',new Date()),就是在发送请求之前执行的js代码。下图的代码就是将环境里面的变量timestampHeader值设置为当前的时间

image.png

cureTime是变量名,new Date()是js生成时间方法。点击send发送的时候就会先执行这段代码,就会生成当前时间的变量名(cureTime),我们就可以在请求的消息体使用上这个时间。比如我们有一个用例,添加一门课程并且这个课程不存在
,有一种方法就是在课程名里面加上一个随机的字符串,如果我加上当前的时间戳,这个课程名是不可能重复的

image.png

然后我们不修改请求多发送几次请求发现都是成功的, 我们发送列出课程的接口,看看有哪些课程

image.png

大家可以看到数据都是不重复的,但是有个缺点名称太长,其实有把js代码转换成年月日的形式

image.png

代码:

var d = new Date();
var strDate = d.getFullYear().toString()+"-"+((d.getMonth()+1).toString().length==2?(d
.getMonth()+1).toString():"0"+(d.getMonth()+1).toString())+"-"+(d.getDate().toString
().length==2?d.getDate().toString():"0"+d.getDate().toString());

postman.setEnvironmentVariable('cureTime',strDate);

我这里cureTime是放在环境的变量里面,一旦执行之后,就会放在环境里面

image.png

这里要了解一下,会python的同学就不需要用这个方法了,后面我们会有python代码的操作。有的同学会疑问这个能不能放在全局变量里面,当然是可以的我们看右边SNIPPETS

image.png

SNIPPETS就是代码的片段,比如我们要写在全局变量里面我们可以点击Set a global variable

image.png

就会自动生成全局变量的代码,我们只要稍作修改就好了

image.png

然后在请求中使用就OK了

postman还有一个检查的功能Tests,不仅仅可以生成一个动态的数据,还可以发送之后接收的结果他可以做一个简单的检查,比如我们检查结果里面是否有retcode字段,我们可以看下SNIPPETS有没有检查,他这里有Response body:Contains string就是响应的消息体中是否包含了某一个字符串,我们点击一下就会生成相应的代码

image.png

稍作修改,就是检查消息体中是否包含了retcode

image.png

大家注意以前我们在执行Postman,执行完了之后这个Test Result是没有结果的

image.png

现在我们在运行一下

image.png

Test Result就有结果了,我们可以看到是PASS,就是里面包含retcode,还有一些检查点,大家可以自己去了解下

总结:

Postman不适合做自动化测试

  • 自动化测试应该做到
    1.自动化用例能够完成所有的测试步骤
    2.每个用例的输入数据(API请求中的数据),必须要自动填入
    3.每个用例的结果检查(多个步骤),必须可以用代码自动完成
    4.初始化、清除功能

  • 主要使用场景
    1.手工测试
    2.半自动化测试(可以做一些请求数据的动态生成,用例结果做一些自动化代码的检查)可以做一些,但是很多情况下光靠他还不行,还得我们人的干预,我们要认清Postman,最主要是手工测试,适合没有编码能力的测试

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容