热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

接口自动化大牛养成记——【第一篇】

对于大多数未做过接口测试的同学来说,可能并不清楚接口到底是什么,甚至你去问很多做过接口测试的同学什么是接口,他们也说不出个所以然ÿ

对于大多数未做过接口测试的同学来说,可能并不清楚接口到底是什么,甚至你去问很多做过接口测试的同学什么是接口,他们也说不出个所以然,

大多数人可能知道接口大概是什么,也知道怎么测,但是不知道如何用专业的术语去描述出来。

接口的本质:接口就是一个函数,通过将接口部署到web容器(tomcat,jboss,weblogic等),发布服务后,就可以通过一个url地址去访问到接口了。

而接口文档里面描述的接口参数呢其实就是函数的参数,接口的返回数据就是函数的返回值。

即:接口=函数,接口参数=函数参数,接口返回值=函数返回值。

以如下接口项目中的“获取用户列表”接口为例:(
http://119.23.241.154:8080/futureloan/mvc/api/member/list),

它其实就对应了后台的一个这样的一个同名函数:

接口自动化大牛养成记--第一篇

接口测试跟ui测试的本质区别:

UI测试更专注于ui页面,而不关注系统内部实现,一个功能模块是否有bug,所有的判断依据都直接来自于前端页面反馈,跟我们的预期对比,一样就测试通过,不一样就是bug。

而接口不一样,需要借助某些客户端工具模拟前端页面发送接口请求,测试人员通过判断接口返回数据与预期是否一致,对测试人员的技术要求更高。

接口测试到底是在项目哪个阶段去做?

接口测试可以在项目的任意阶段做,只要接口已经开发出来了,提前介入,就能提前发现问题,不管系统是不是已经将页面与后台接口集成了,项目时间充足的前提下都最好对接口进行一轮或者多轮测试,

基于两点原因:

1)某些请求如果绕过前端直接往接口发送非法数据,而接口也有相应处理措施,那么将最大限度的降低了系统的风险;

2)后端控制好了,所有的问题就集中与前端这一块了。

手工测试接口有哪些工具:

Postman,jmeter,Soapui,Fiddler等主流的工具都能完成。

什么是接口自动化? 通过代码驱动测试而非人工。

为什么需要做接口自动化? 通过机器来替代人工,解放生产力。

如何做接口自动化? 通过http技术处理接口调用。

接口自动化环境如何搭建:

1.创建maven项目,为什么用maven项目,最重要最直接的原因是希望maven来管理咱们的项目依赖,这样我们就不需要满世界的找各种jar包去下载了。

2.集成HttpClient,在maven项目引入HttpClient-4.5.2这个框架的依赖,这个框架提供了一些http技术可以帮助咱们去发起接口调用并处理接口返回数据,以下是依赖描述。

org.apache.httpcomponents

httpclient

4.5.2

3.集成testng,利用testng这个测试框架来帮助咱们来更好的管理测试类,以及它提供了丰富的注解,方便咱们去实现多场景测试设计。以下是依赖描述。

org.testng

testng

6.8.8

test

4.至于项目的其他依赖在后面的接口自动化框架实现过程中再给大家补充,本节只为实现一个最简单的环境和一个接口调用案例。

小试牛刀:

通过http技术post一次接口请求,完成对于注册接口的调用,并得到接口返回数据。代码如下:

接口自动化大牛养成记--第一篇

总结:以上代码是一个简单的案例,离我们的接口自动化框架还差十万八千里。后面的篇章将带大家逐渐去完善这个框架,大家敬请期待。

如果你
①从事功能测试,想进阶自动化测试

②在测试界混了1、2年,依然不会敲代码

③面试大厂却屡屡碰壁

那下面的这些资料应该会对你有帮助

这份资料,对于【软件测试】的朋友来说应该是最全面最完整的备战资料,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,这些资料也陪伴了我的每一刻自学之路,希望也能帮助到你

关注公众号:程序员二黑,即可领取软件测试全套资料合集

还可以加入我们的学习交流群:785128166

 


推荐阅读
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 标题: ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • SOA架构理解理解SOA架构,了解ESB概念,明白SOA与微服务的区别和联系,了解SOA与热门技术的结合与应用。1、面向服务的架构SOASOA(ServiceOrien ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
author-avatar
江南西道longge
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有