接口测试相关

本文转自:

http://www.aikaiyuan.com/6324.html

https://www.jianshu.com/p/8d3fb56b0de9

https://www.cnblogs.com/qiang07/p/9304771.html

1. GET请求和POST请求的区别是什么?

GET请求:用于信息获取,相对而言是安全和幂等的;在做数据查询时,建议用GET方式,如商品信息接口、搜索接口、博客访客接口...

POST请求:表示可能会修改服务器上资源的请求;在做数据添加、修改时,建议用POST方式。如:上传图片接口、登录注册接口...

2. HTTP接口的请求类型有哪些?

> 查询字符串参数(Query String Parameters):一般用于GET请求,以URL的形式进行传递

> 请求体参数(Request Body):一般用于POST请求,可以使用content-type(获知请求中的消息主题是用何种方式编码,再对主题进行解析。)

a. application/x-www-form-urlencoded:

b. multipart/form-data:使用表单上传文件时,必须让form的 encrypted 等于这个值

c. application/json: 用来告诉服务端消息主题是序列化后的JSON字符串。特别适合RESTful的接口。

d. text/xml: 一种使用HTTP作为传输协议,XML作为编码方式的远程调用规范。

==>HTTP请求报文:请求行、请求头、请求体。

例如请求数据:

1 GET/sample.jspHTTP/1.1  : 第一行为http请求行,包含方法,URI 和http版本。

2 Accept:image/gif.image/jpeg,*/*

3 Accept-Language:zh-cn

4 Connection:Keep-Alive

5 Host:localhost

6 User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)

7 Accept-Encoding:gzip,deflate8  : 2-7为请求头,包含浏览器,主机,接受的编码方式和压缩方式

8                                                  : 第8行表示一个空行 表示请求头结束 这个空行是必须的

9 username=jinqiao&password=1234     :第9行是数据体,比如是需要查询的信息。

> 请求头(key value形式)

    User-Agent:产生请求的浏览器类型。

    Accept:客户端可识别的内容类型列表。

    Host:主机地址

> 请求数据

   post方法中,会把数据以key value形式发送请求

> 空行

发送回车符和换行符,通知服务器以下不再有请求头

==>HTTP响应报文(状态行、消息报头、响应正文)

比如:HTTP/1.1 200 ok

分别表示http版本 + 状态码 + 状态代码的文本描述

状态码:

1xx指示信息–表示请求已接收,继续处理

2xx成功–表示请求已被成功接收、理解、接受

3xx重定向–要完成请求必须进行更进一步的操作。

4xx客户端错误–请求有语法错误或请求无法实现。

5xx服务器端错误–服务器未能实现合法的请求。

状态行是由:HTTP-Version+Status-Code+Reason-Phrase

比如:HTTP/1.1 200 ok

分别表示http版本 + 状态码 + 状态代码的文本描述

状态码:

1xx指示信息–表示请求已接收,继续处理

2xx成功–表示请求已被成功接收、理解、接受

3xx重定向–要完成请求必须进行更进一步的操作。

4xx客户端错误–请求有语法错误或请求无法实现。

5xx服务器端错误–服务器未能实现合法的请求。

响应头:包含服务器类型,日期,长度,内容类型等

Server:Apache Tomcat/5.0.12

Date:Mon,6Oct2003 13:13:33 GMT

Content-Type:text/html

Last-Moified:Mon,6 Oct 2003 13:23:42 GMT

Content-Length:112

 响应正文:就是服务器返回的HTML页面或者json数据

3. 接口测试用例的编写要点有哪些?

1)必填字段:请求参数必填项、可选项

2)合法性:输入输出合法、非法参数

3)边界:请求参数边界值等

4)容错能力:大容量数据、频繁请求、重复请求(如:订单)异常网络等的处理

5) 相应数据校验:断言、数据提取传递到下一级接口...

6)逻辑校验:如两个请求的接口有严格的先后顺序

7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点

8)安全性:构造恶意的字符请求,如SQL注入、XSS、敏感信息、业务逻辑

4. 如何从上一个接口获取相关的相应数据传递到一个接口?

先从上一个接口中的相应数据获取对应的返回值,然后使用正则表达式or或使用JSON解析来提取需要的获取的值,然后存储在一个变量中,最后在下一个接口中直接引用该变量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。