如果各位有API测试方面的需求的话,可以尝试一下谷歌插件Talend API Tester,之前一直使用postman进行测试,偶然发现Talend API Tester这一插件,感觉还蛮不错的,在功能上可以替换掉之前一直用的postman.

1.安装

Talend API Tester是谷歌扩展,仅需要安装到Chrome就可以使用了,正常的话,去Chrome的应用商店直接安装就可以了,国内的话,大家可以去crxdl.com进行下载安装

1)打开谷歌浏览器-->更多工具-->选择扩展程序
在这里插入图片描述
2)打开开发者模式,并将直接下载好的 talend api tester .crx 文件拖进去
在这里插入图片描述
3)插件 talend api tester 添加成功,便可以点击图标进行使用
在这里插入图片描述

2.主要功能

(1)支持七种方法

在这里插入图片描述

(2)导入Swagger API

如果api服务提供了swagger api文档的话,那么可以用api tester 直接全部导入,免去了一个一个手工输入的麻烦

在这里插入图片描述
点击import之后,这样就会在 api tester 的repository里添加一个名叫test的项目,里面有已存在的接口
在这里插入图片描述

(3)环境变量

相同的api可能需要设置不同的参数,在api tester里可以很方便的进行设置,比如开发环境api的host是127.0.0.1:8080,而在alpha测试环境中host是http://10.1.1.1:10080/alpha,那么我们可以在api tester上进行操作
1)点击add an environment,创建名为dev的环境名,点击create
在这里插入图片描述
2)在dev环境下面设置一个变量,名为host,值为http://127.0.0.1:8080
在这里插入图片描述

3)回到请求页面,把url里的域名部分改成${host},发送请求
在这里插入图片描述
运行结果:
在这里插入图片描述
4)设置一个alpha环境的参数
选择dev环境,点击后面的编辑按钮,在环境变量里,点击dev后面的功能按钮,点击clone按钮
在这里插入图片描述
设置新的名字,修改值
在这里插入图片描述
再次发送请求,会发现请求的地址确实是10.1.1.1:10080/alpha
在这里插入图片描述

(4)表达式构造器

表达式构造器可以帮助用户构建一些常用的值,比如timestamp,uuid
如果我们想在这个接口的input参数里传入当前的timestamp的话,我们可以点击input的值后面的魔法棒按钮,就进入了表达式构造器页面
在这里插入图片描述
选择timestamp,可以看到expression,这里显示了具体的写法
在这里插入图片描述

还可以对timestamp做一些处理,例如转换成base64、转小写字符的处理、截位处理
在这里插入图片描述
点击insert,这个表达式就插入到input的值里面了
在这里插入图片描述
运行结果:
在这里插入图片描述
可以看到结果是正确的,表达式的值同时后面补了一个a

(5)断言

后台工程师应该对断言不陌生,单元测试都是大量使用断言来实现的,接口测试也可以使用断言功能。
api tester的界面里有个assertion页,如果接口的status code是200就断言为成功的话,那么可以添加一个断言,发送请求,结果为正确的200,表示测试通过
在这里插入图片描述

(6)场景模式

假设想测试某个复杂的业务逻辑,这个业务逻辑需要顺序调用一系列的api,api之间又有一些参数间的依赖关系,那么可以使用api tester创建一个场景,将这些api添加进来并按照顺序调用测试
示例(A接口->B接口->C接口):
在一个项目中,3个接口,现在设计一个业务逻辑,add的a接口的响应值作为add的b接口的输入,然后add的a接口的输出作为add的c接口的输入,我们需要测试最后add的c接口的响应是否正确
先点击scenarios功能,在scenarios界面里点击test工程,会看到scenarios界面有好几个执行的按钮
在这里插入图片描述
先进入a接口,假如我现在要给input输入yyy
在这里插入图片描述

这个接口的功能就是在yyy后面加个a,然后响应到body里
在这里插入图片描述
添加一个断言,断言body content等于输入项后面补一个a,这个值我们使用表达式构造器来帮助我们写
在这里插入图片描述
这个test项目里->add的a接口里->request里面的->query里的input->concat补一个a
在这里插入图片描述
点击测试,可以看到结果是正确的
在这里插入图片描述
然后我们处理一下add的b接口,业务逻辑是add的a接口的输出是add的b接口的输入,那么我们进入b接口,点击input后面的魔法棒,来到表达式构造器
选择test repository->选择add的a接口->选择response->选择body->点击insert
在这里插入图片描述
运行b接口:
在这里插入图片描述
最后我们处理一下add的c接口,业务逻辑是add的b接口的输出是add的c接口的输入,那么我们进入c接口,点击input后面的魔法棒,来到表达式构造器
选择test repository->选择add的b接口->选择response->选择body->点击insert
在这里插入图片描述
运行结果:
在这里插入图片描述
整体测试:
回到a接口,input输入nnn,然后回到最上面的test场景,运行,可以看到3个接口都成功了:
在这里插入图片描述
同时场景模式还可以结合上环境变量,测试不同环境下的接口

3.缺点

(1)导入时不能导入body的结构信息
(2)暂时没有graphql模式

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐