API测试自动化——基于CDIF的SOA基本功能(实例篇)

今天我们通过一些实例来体验一下API的自动化测试,感受一下基于CDIF的SOA的一些基本功能。

传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要手动填写所有这些信息:flight=MU3532 & date=2017-03-02。而的测试工具基于CDIF的测试中就不需要写flight和date这两个字段,直接在API测试网页上填MU3532和2017-03-02就可以了。甚至这个2017-03-02也不用手动填,可以用鼠标从日期框里选中。这在信息类别较多的API中,优势就非常明显了。同时,在查询的右侧可以清晰地看到整个API调用过程中输入和返回的数据,大大地方便了开发人员调试接口。

类似这样简洁的测试页面,目前国内的API市场网站也有提供。但都是手动画的网页,不能改动!不能改动!不能改动! 那么问题来了:如果某一个API开发者想要增加一些服务、变更一些服务,比如上面提到的航班查询API中加入城市(city)的查询,也就是需要改变参数的时候,API开发者就必须打电话告诉API管理者,告知其API又加了个新参数,需要在测试工具里再画一个新的输入框,让用户可以填写。然后就要人工处理,把这个测试网页重新生成一次,增加一个新的输入框。这样的手动过程是极其不方便的。百度apistore所有免费API之所以关闭,管理起来很麻烦应该是一个重要的原因。

而基于CDIF,如果某一个API开发者又想加个新字段参数叫city,或者变更任何参数,那么他只要上传一个新的API包就行了。CDIF的测试工具会自动生成一个新的输入框,客户甚至感受不到发生过变更,只要在那个输入框里填写city字段的内容就行了,比如“上海”。和传统的API测试工具如postman, soapUI等使用的方法不同,该API测试工具在用户添加新的API时;或者为已有API添加新字段时,会自动为新API生成友好的测试界面,并且把测试输入数据和返回结果清晰地展现在页面上,没有任何技术背景的人也会操作测试界面。而且这个过程中无需任何人工干预另外,对于那些稍复杂点的数据,比如数组类型的API参数,测试者点击"add"就可以页面上添加新输入项,类似这样的能力是现有的测试工具无法提供的。

知道这意味着什么吗?意味着码农不用再加班写代码画框了!不用再为这个APP应用的变更写文档了!意味着更好的交互性。

同时,大家可以发现这个基于CDIF的API测试工具甚至还会对输入数据做校验,确保非法的数据无法被提交。这种数据校验能力不仅仅存在于测试中,基于CDIF的API管理框架在处理真实的API调用数据时也同样拥有,确保了用户API接口的安全性。使用这个测试工具的时候,可以看到如果输入的是非法的数据,比如下面的手机在网查询API中,填写不对,测试工具无法提交,框体变红。只有合法的数据才会被通过,框体为绿色。

知道这意味着什么吗?这就意味增加了一层数据防火墙!大大增加了API接口的安全性,同时节省了这个API的流量!安全!流量!

它另外一个优势在于,API测试基于CDIF可以是全自动化的。这里说的全自动化是指的喂给API吃任意的伪造数据,测量API是不是足够健壮,会不会崩溃或者反应不正常。这种能力现在所有的REST API测试工具都没有的。API推出之前,开发者通常都希望对他做足够多的测试,测量他在各种数据输入条件下的反应。但是REST API测试工具就很难做到这一点。而这种输入伪造数据的API测试可以在灵长的网页连续跑三天三夜,输入完全不同的各种伪造数据,测量API会不会出问题。

什么都自动化了……码农们终于可以开始干些有创造性、有意义的事情了!

时间: 2024-10-17 15:27:19

API测试自动化——基于CDIF的SOA基本功能(实例篇)的相关文章

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然

app测试自动化之混合APP(之前的三篇为原生APP的操作)

混合开发的App中,经常会有内嵌的H5页面:定位方法与原生APP不同,需要上下文切换 #获取所有上下文contexts=dr.contextsprint(contexts)#打印当前上下文(有点问题应该是webview)cur_context=dr.current_contextprint(cur_context)#切换到webview界面dr.switch_to.context('WEBVIEW_com.wondershare.drfone') 原文地址:https://www.cnblogs

CDIF:基于JSON的SOA软件框架

通用设备互联框架(CDIF)是一个基于web的连接框架,目前有部分开源实现存放在: GitHub - out4b/cdif: Common device interconnect framework.CDIF是一种基于JSON的SOA软件框架.CDIF为客户端app提供了与基于XML的WSDL语言和SOAP协议同等抽象能力.但简洁得多的基于JSON的实现,也非常适合用于描述微服务架构的API接口.CDIF提供了完整的服务注册和发现能力,并为所有的web服务和物联网设备,包括REST.SOAP类型

基于CDIF实现的——API在线自动化测试

传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要手动填写所有这些信息:flight=MU3532 & date=2017-03-02.而基于CDIF的测试工具中就不需要写flight和date这两个字段,直接在该API测试网页上填MU3532和2017-03-02就可以了.甚至这个2017-03-02也不用手动填,可以用鼠标从日期框里选中.这在信

初学者的API测试技巧

API(应用程序编程接口)测试是一种直接在API级别执行验证的软件测试.它是集成测试的一部分,它确认API是否满足测试人员对功能.可靠性.性能和安全性的期望.与UI测试不同,API测试是在没有GUI层执行操作的. API测试技巧 Web API有两大类Web服务:SOAP和REST.SOAP(简单对象访问协议)是W3C标准定义的一种标准协议,用于发送和接收Web服务请求和响应.REST(表示状态传输)是使用HTTP的基于Web标准的体系结构.与基于SOAP的Web服务不同,没有针对RESTful

初学者的Api测试技巧!值得收藏!

初学者的Api测试技巧!API测试是一种直接在API级别执行验证的软件测试.它是集成测试的一部分,它确认API是否满足测试人员对功能.可靠性.性能和安全性的期望.与UI测试不同,API测试是在没有GUI层执行操作的.API测试技巧Web API有两大类Web服务:SOAP和REST.SOAP(简单对象访问协议)是W3C标准定义的一种标准协议,用于发送和接收Web服务请求和响应.REST(表示状态传输)是使用HTTP的基于Web标准的体系结构.与基于SOAP的Web服务不同,没有针对RESTful

[翻译] API测试最佳实践 - 身份验证(Authentication)

API测试最佳实践 - 身份验证 适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源或API. 验证(Authentication)- 指的是对API最终使用者的确认的活动. 授权(Authorization)- 指对那些验证通过的用户能所能够访问的资源进行确认的活动. 2. 身份验证的标准(Authentication Standars) 身份验

API测试

什么是API测试 什么是API 关于定义什么的,直接维基可得: API(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定.由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要.程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分.良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性. 换

Windows Phone 8 测试自动化初探 (利用Coded UI)

前言 Windows Phone是个相对新的的平台,目前应用的数量少,相同应用的功能实现度也不如iOS和Android. 那么在Windows Phone上面的自动化测试的解决方案有什么? 目前就msdn来看,SeeTest是微软推荐的测试方案. 大家知道微软在VS里面集成了自动化测试工具Coded UI,那么Coded UI除了能测Windows, Web应用,它能不能支持Windows Phone应用呢? 利用Coded UI做Win Phone自动化的过程 利用Coded UI是可以做Wi