• WebAPI测试概念及postman初识


    什么是接口?   ------   某个对象和外界交互的部分

                  消息交互接口:基于soap的web service  ---- http协议

                                      web api   ------- http协议

                                      diameter、radius  ------ socket协议

                  编程接口:各种语言的开发包

                  其他接口:数据服务产品:sql语言操作接口

                                对账系统:FTP文件接口

    web服务接口:互联网产品对外提供的服务接口,我们通常称之为web服务接口、web service接口、REST接口

    我们经常说的'接口测试'、‘API测试’,就是对web服务接口的测试。 包括APP服务端接口。

      主要包括两种类型:① 基于SOAP的web service接口

                                ② REST接口 

    HTTP协议:超文本传输协议

           就是浏览器与服务器之间进行‘沟通’的一种规范。

           HTTP协议属于应用层的协议。

           HTTP版本:在0.9  1.0  1.1(最广泛)  2

    要想知道http协议,就要清楚它的请求和响应,当然还有请求方式、状态码、URL地址等。

           http请求:一个完整的http请求,包含一个请求行,若干个请求头、空行、消息体

                   请求行:描述客户端的请求方法(如get、post等)、请求资源的名称、http协议的版本号

                   请求头:包含客户机请求的服务器主机名,客户机的环境信息等

                   (换行)

                    消息体:指浏览器端通过http协议发送给服务器的实体数据(有三种数据格式:json、xml、www-form-urlencoded)

           HTTP请求方法最常用的有哪些:get 、post、head、put、delete

           http响应:一个http响应代表服务器端向客户端回送的数据,它包括:一个状态行、若干个消息头、空行、以及实体内容(响应体)

                   响应头:包含 状态码、服务器类型、服务器的数据压缩格式、传送数据的编码格式等

                   状态行:如HTTP/1.1 200 OK  (协议的版本号是1.1,响应状态码为200  响应结果为OK)

                   实体内容:包含浏览器能够解析的静态内容,例如 html、纯文本、图片等等信息

    HTTP和HTML的区别?   

           HTTP是一种用来定义网页的文本语言  标记语言

           HTTP是网络上传输信息的协议

    接口测试的流程:- 阅读API接口文档

                           - 编写测试用例

                           - 根据测试用例进行API的手工测试

                                     ① 开发API工具

                                     ② 使用工具进行测试

     ------------------------------------------------------------------------------------------------------------------------------------------------------------

     postman工具的使用:是最广泛的rest api测试工具。

            postman提供了一个多窗口和多标签的界面。

            侧边栏分为两个主要标签History和Collections。我们填过的请求都会自动的保存到history中;Collections可以把我们的API请求分类,实现目录式管理。

            右边区域是我们操作的核心区域。用来填写API请求的具体内容:包括http请求的url、请求头、请求体,点击发送后,查看响应信息是什么都在这里。

            构建http请求   ---- 包括URL、请求方法、请求头、消息体

                         URL的构建:协议类型 如http可以省略不写,如果是https,则需要写上。 如 www.baidu.com

                                               有时候,url请求中是有参数的,如 https://baike.baidu.com/item/Selenium/18266?fr=aladdin 问号后面的部分fr=aladdin就叫做查询字符串

                                               也可以有n多个参数,用符号&隔开  如?fr=aladdin&pagenum=1

                      请求头的构建:要在HTTP头部中添加字段,可在Headers标签中添加

                                               添加好后,点击send,发送出去的http请求中就会携带这些添加的头部。

                      请求体的构建:最常见的就是post 、put请求,有时delete也有消息体

                                               不是所有的http请求都是有消息体的,这是由系统的设计者决定的。

                                               我们在body中添加参数,并指定是什么类型的消息体。换句话说就是将参数存放的位置从url移到了body

                                               消息体的类型都是通过headers中的content-type参数来表明的。如 Content-Type:application/x-www-form-urlencoded

                                               消息体类型除了application/x-www-form-urlencoded外,比较常见的还有application/json、application/xml,分别对应json格式的文本和xml格式的文本

                                               还有multipart/form-data

            json介绍:是一种编程语言对象的字符串表示法,是一种数据保存和传输的序列化格式。

                             在接口测试中,我们需要传递数据对象给另外的程序,比如一个字典的内容。那我们传输就必须要序列化,xml可以用程序进行序列化,但效率不高,最后json解决了这一麻烦。

                             json好处:易读、易编写、易解析、易生成。

            如果数据格式是json或xml,这种情况下来构造消息体,需要选择类型为raw,并且在右边的text下拉框中选择相应的类型,并在body编辑框中输入相应格式的文本。

             

                  选择不同的类型,postman会自动添加对应的header

                  raw并不是一种http body的类型,而是postman用来表示 可直接填写消息内容的方法。

            Collection和Folder:

            在postman中,我们可以用Collection和Folder对API进行分类存放和管理。collection可以理解为顶级目录 像C盘一样;Folder可以理解为C盘下的一个个目录。

            通常一个产品的API接口测试,我们可以创建一个Collection和其对应。根据各个API的功能,分成不同的Test Suite,对应到不同的Folder中。

            导入和导出:

                    导入和导出最大的作用就是方便共享。比如 同事之间也要执行,就可以把这些文件导出给到他,他再导入,仍可以继续执行。import是导入   export是导出。

                      

           创建postman账户:

                   postman有比较高级的同步功能,只要有账户,不管在哪台机器登录,都可以使用该账户,获取其保存的API信息。

  • 相关阅读:
    e552. 取Applet的参数
    e551. 精简的Applet
    e558. 在Applet中多图片交互显示
    e1087. try/catch语句
    e1086. if/else语句
    e1087. 用For循环做数组的遍历
    e1084. 捕获错误和异常
    Zookeeper 应用程序
    Zookeeper API
    Java并发编程:volatile关键字解析
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/12014996.html
Copyright © 2020-2023  润新知