API的自动化测试
传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要手动填写所有这些信息:flight=MU3532 & date=2017-03-02。而在灵长科技的测试工具中就不需要写flight和date这两个字段,直接在我们的API测试网页上填MU3532和2017-03-02就可以了。甚至这个2017-03-02也不用手动填,可以用鼠标从日期框里选中。这在信息类别较多的API中,优势就非常明显了。同时,在查询的右侧可以清晰地看到整个API调用过程中输入和返回的数据,大大地方便了开发人员调试接口。
类似我们这样的简洁的测试页面,目前国内的API市场网站也有提供。但他们都是手动画的网页,不能改动!不能改动!不能改动! 那么问题来了:如果某一个API开发者想要增加一些服务、变更一些服务,比如上面提到的航班查询API中加入城市(city)的查询,也就是需要改变参数的时候,API开发者就必须打电话告诉API管理者,告知其API又加了个新参数,需要在测试工具里再画一个新的输入框,让用户可以填写。然后就要人工处理,把这个测试网页重新生成一次,增加一个新的输入框。这样的手动过程是极其不方便的。百度apistore所有免费API之所以关闭,管理起来很麻烦应该是一个重要的原因。
而在灵长科技,如果某一个API开发者又想加个新字段参数叫city,或者变更任何参数,那么他只要上传一个新的API包到我们这里就行了。我们的测试工具会自动生成一个新的输入框,客户甚至感受不到发生过变更,只要在那个输入框里填写city字段的内容就行了,比如“上海”。和传统的API测试工具如postman, soapUI等使用的方法不同,灵长的API测试工具在用户添加新的API时;或者为已有API添加新字段时,会自动为新API生成友好的测试界面,并且把测试输入数据和返回结果清晰地展现在页面上,没有任何技术背景的人也会操作测试界面。而且这个过程中无需任何人工干预另外,对于那些稍复杂点的数据,比如数组类型的API参数,测试者点击"add"就可以页面上添加新输入项,类似这样的能力是现有的测试工具无法提供的。知道这意味着什么吗?意味着码农不用再加班写代码画框了!不用再为这个APP应用的变更写文档了!意味着更好的交互性。
同时,大家可以发现我们的API测试工具甚至还会对输入数据做校验,确保非法的数据无法被提交。这种数据校验能力不仅仅存在于测试中,我们的API管理框架在处理真实的API调用数据时也同样拥有,确保了用户API接口的安全性。使用这个测试工具的时候,可以看到如果输入的是非法的数据,比如下面的手机在网查询API中,填写不对,测试工具无法提交,框体变红。只有合法的数据才会被通过,框体为绿色。知道这意味着什么吗?这就意味增加了一层数据防火墙!大大增加了API接口的安全性,同时节省了这个API的流量!安全!流量!
它另外一个优势在于,API测试在灵长科技可以是全自动化的。这里说的全自动化是指的喂给API吃任意的伪造数据,测量API是不是足够健壮,会不会崩溃或者反应不正常。这种能力现在所有的REST API测试工具都没有的。API推出之前,开发者通常都希望对他做足够多的测试,测量他在各种数据输入条件下的反应。但是REST API测试工具就很难做到这一点。而这种输入伪造数据的API测试可以在灵长的网页连续跑三天三夜,输入完全不同的各种伪造数据,测量API会不会出问题。
什么都自动化了……码农们终于可以开始干些有创造性、有意义的事情了!
**
欢迎登陆 www.apemesh.com 体验!
**
API的自动化测试的更多相关文章
- 10.API 接口自动化测试的基本原理
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 28.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0. ...
- Jenkins+Postman+Newma+Xmysql之API全自动化测试
第一章 前期准备:各种安装配置介绍 ①Postman安装及使用 ②Newman 安装及使用 ③Xmysql 安装及使用 ④Jenkins安装及配置 1.postman 安装及使用 1.1.postma ...
- Windows Automation API和自动化测试
https://zhuanlan.zhihu.com/p/22083601\ 感谢轮子哥点赞,这会儿消息扎堆过来了,轮带逛果然不是随便说说的…… 第二篇一个简单的Windows Automation ...
- Python Api接口自动化测试框架 excel篇
工作原理: 测试用例在excel上编辑,使用第三方库xlrd,读取表格sheet和内容,sheetName对应模块名,Jenkins集成服务发现服务moduleName查找对应表单,运用第三方库req ...
- itnesse实现api接口自动化测试学习
上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接口测试的时候,就是只在浏览器里人工测试 ...
- 利用fitnesse实现api接口自动化测试
上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,仔细想想,我做接口测试也有几个年头了,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接 ...
- 基于CDIF实现的——API在线自动化测试
传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要 ...
- API 接口自动化测试框架
转自: https://testerhome.com/topics/3455 前言 接口自动化逐渐成为各大公司投入产出最高的测试技术.但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分 ...
- Laravel 的 JSON API 接口自动化测试
Laravel 自带了两种测试类型 Feature Test: 功能测试.针对类似接口这种流程性的测试. Unit Test: 单元测试.针对单个函数这种输入输出结果的测试. 新建一个 Feature ...
- REST API 自动化测试 利器Rest Assured(API接口自动化测试框架体系)
现在,越来越多的 Web 应用转向了 RESTful 的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来.从这 ...
随机推荐
- ACM训练,大理石在哪儿?
int p = lower_bound(a, a+num, x) - a; //在已排序数组a中查找大于或等于x的第一个位置 lower_bound( )返回的是一个迭代器,-a相当于减去a的首地址, ...
- Lesson A puma at large
新概念三 Lesson 1 A puma at large 词汇: 1. spot 易混淆: recognize v. [认出], identify v. [识别sb/sth的身份] v. 看出,发现 ...
- LeetCode-063-不同路径 II
不同路径 II 题目描述:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角( ...
- RxJS中高阶操作符的全面讲解:switchMap,mergeMap,concatMap,exhaustMap
RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap) 原文链接:https://blog.angular-universi ...
- 番茄钟的实现(基于Xilinx EGO1学习板)
番茄钟设计 一.总体设计 1.番茄工作法简介 番茄工作法由意大利的奇列洛创造.其内容就是:工作25分钟休息5分钟,循环四次后休息15分钟. 本项目就是基于Xilinx Ego1开发板实现一个计时器,该 ...
- ACL流策略
QoS实现工具之MQC-qos设置 作者:上犹日期:2019-10-23 11:30:36 返回目录:设置问题 QoS技术可以对网络中报文进行分类处理,根据优先级提供不同的差分服务,如何实现这种差分服 ...
- 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告
20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...
- LGP3311题解
为什么我和同学对比了一下,发现我和他的做法差别很大啊 对于这种问题,我们把整个字符串分为两个部分:前缀顶着最高位和后缀没有顶着最高位. 我们枚举这个前缀,然后后缀通过 DP 来搞定. 不包含任何一个子 ...
- sqlserver 中,如何将getdate()时间的时分秒固定为00:00:00或者忽略不要
在使用getdate()时,时间会实时刷新,那么我们就要再查询的时候就需要精确到毫秒后三位,非常难受,那么为了解决这个问题我们可以通过以下几种方法进行固定或者去掉毫秒 1.将毫秒固定为00:00:00 ...
- rest-framework之视图和源码解析
视图和源码解析 通过使用mixin类编写视图: from rest_framework import mixins from rest_framework import generics class ...