python接口自动化(一)什么是接口、接口上风、范例(详解) ...

打印 上一主题 下一主题

主题 576|帖子 576|积分 1728



目录:导读
前言
界说 
接口的上风
常见的接口范例
不常见的接口范例(了解即可)
附录(get和post的区别)
写在最后

前言

  经常听别人说接口测试,接口测试自动化,但是你对接口,有多少了解和认识,知道什么是接口吗?它是用来做什么的,测试时间要留意什么?坦白的说,笔者之前也不是很清楚。接下来先看一下接口的界说。
界说 

       接口泛指实体把本身提供给外界的一种抽象化物(可以为另一实体),用以由内部操纵分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
  人类与电脑等信息呆板或人类与步调之间的接口称为用户界面。电脑等信息呆板硬件组件间的接口叫硬件接口。电脑等信息呆板软件组件间的接口叫软件接口。
  在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操纵的人之间,也可以是它们的结合。
接口的上风

  一、规范性
  接口就是规范,在整个系统计划中,涉及到很多层,为了使各个层之间调用透明话,你只必要知道接口,按照这个接口做你详细做的事情,就可以融合到整个系统中了。
  生活中的例子很多,例如:插头、插座,有尺度的规范告诉你插头应该是几个脚,插座是几个孔等等,做插头、插座的公司就是根据这个规范来做插头、插座,而不必要做完一个插头就跑遍全天下去试用一下这个插头做的对不对。
  二、扩展性
  在项目开发过程中,由于客户的需求经常变化,假如不采用接口,那么我们必须不停改写现有的业务代码。改写代码大概产生新的BUG,而且改写代码还会影响到调用该业务的类,大概全都必要修改,影响系统本身的稳固性。到最后,大概会出现代码缭乱,不易读懂,
  后接办的人无法读懂代码,系统的维护工作越来越重,最终大概导致项目失败。
  三、接口在项目就是一个业务逻辑,面向接口编程就是先把客户的业务提取出来,作为接口。业务详细实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,不必要改写现有代码,减少对系统的影响。从而让项目具有更大的扩展性。
常见的接口范例

  接口是指外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
  常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)。本文主要先容http哀求接口。
  常见的http哀求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。日常工作中见到的最多的是get和post两种。
   GET:GET可以说是最常见的了,它本质就是发送一个哀求来取得服务器上的某一资源。资源通过一组HTTP头和呈现据(如HTML文本,或者图片或者视频等)返回给客户端。GET哀求中,永远不会包罗呈现数据。
   POST:向服务器提交数据。这个方法用途广泛,几乎如今所有的提交操纵都是靠这个完成。它用来向指定资源提交数据进行处理哀求(例如:提交表单和上传文件),数据包被包罗在哀求体中,post哀求大概导致新的资源的建立或者已有的资源的修改。
   PUT:这个方法比力少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器本身决定。客户端向服务器传送的数据代替指定文档的内容。
   举个例子:如一个用于提交博文的URL,/addBlog。假如用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而假如用POST,则这个地址会在提交后由服务器告知客户端。如今大部分博客都是这样的。显然,PUT和POST用途是不一样的。详细用哪个还取决于当前的业务场景。
  DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务内里就用的这个方法来删除资源。
1)get型接口
格式:哀求数参数写在网址背面,用"?"连接,多个参数之间用"&"连接。如:https://api.douban.com/v2/book/search?q='',这是一个豆瓣查询图书信息的开发api,q='',单引号里就是查询的参数,如查询《小王子》这本书的信息,则q='小王子',利用postman工具来试验一下,如下图:

 场景:get型接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来
特点:1)哀求数据量小,2)参数袒露于url地址中,故存在安全隐患
2)post型接口
说明:向指定资源位置提交数据(如提交表单、上传文件)来进行哀求,post哀求大概会导致新资源的建立
场景:如注册、上传、发帖等功能,如用户在豆瓣网站对某本书进行收藏、写条记、发表评论
特点:哀求数据量大,安全性高
如豆瓣的发表评论的开放api,见下图:

3)put型接口
说明:put哀求用于向指定资源位置上传最新内容
场景:如用户在豆瓣网站修改对某本书的收藏、修改某篇条记或修改评论
如豆瓣的修改评论的开放api,见下图:

4)delete型接口
说明:哀求服务器删除哀求里url所标识的资源
场景:如用户在豆瓣网站取消对某本书的收藏、删除某篇条记或删除评论
如豆瓣的删除评论的开放api,见下图:

不常见的接口范例(了解即可)

    不常见的http哀求方式包括:head、connect、options和trace。
    head:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。换句话说,就是返回响应中没有详细内容,只获取报头。有的人大概觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判定某个资源是否存在,我们通常利用GET,但这里用HEAD则意义更加明确。
    connect:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    options:这个方法很有趣,但极少利用。它用于获取当前URL所支持的方法。若哀求成功,则它会在HTTP头中包罗一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。答应客户端检察服务器的性能。
    trace:回显服务器收到的哀求,主要用于测试和诊断。
附录(get和post的区别)

这个问题,面试中经常被提到。简单来说,可以从三个方面去回到这个区别:方式、巨细、安全
1).方式
方式指的是参数的传入方式,GET方法一样寻常是指获取服务器上的数据,参数直接跟着URL后边,直接可以放到欣赏器地址栏里,例如登录就是采用GET方法。而POST方法是指客户端给服务器上提交表单数据,所以POST是通过表单提交的,例如你网页上的新用户的注册、调盘问卷和答题就是采用POST方法。
2).巨细
上面已经知道GET是直接在欣赏器地址栏输入,由于欣赏器有限制,一样寻常整个URL的长度可以很长,但是不能超过2049KB的巨细限制,而这个POST就没有巨细限制。
3).安全性
由于GET的参数是在欣赏器地址栏直接拼接,袒露在互联网中,肯定不安全。POST是通过表单数据提交,相对比GET方法更安全。
写在最后

这篇贴子到这里就结束了,最后,渴望看这篇帖子的朋友能够有所收获。
都到这了记得三连支持一下吧。
-------------------------------------------------

完整版文档下载方式:
这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战堆栈,这个堆栈也伴随我走过了最困难的旅程,渴望也能资助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。
-------------------------------------------------


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表