文章目录
-
- 1.安装
- 2.主要功能
-
- (1)支持七种方法
- (2)导入Swagger API
- (3)环境变量
- (4)表达式构造器
- (5)断言
- (6)场景模式
- 3.缺点
如果各位有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模式