接口自动化行情+pytest常用的库

发布时间 2023-03-22 21:11:23作者: 苹果芒

一.常用的接口自动化框架

1.市面上主流的接口测试工具:(适用于中小型公司或者项目)

Postman+Newman+Git+Jenkins

Jmeter+Ant+Git+Jenkins

目前主流的接口自动化测试技术:(适用于大小型公司或项目)

Python+requests+pytest+allure+jenkins

二. Requests库简介

requests用来发送HTTP请求以及接受HTTP响应的python第三方库,主要用于接口自动化库,安装方式:

pip install requests

三,request库常用的方法

 不管是get/post/put/delete方法,都是调用的requests.request方法。而requests.request方法调用的是session.request()方法。

 

  • request.post方法的传参方式有2种: data,json

data和json传参以及Content-Type的关系如下:

1.data传参:报文是dict类型,那么默认Content-Type: application/x-www-form-urlencoded

  data传参:报文时str类型,那么默认Content-Type: text/plain

2.json传参: 报文可以是dict类型,那么默认Content-Type:applicaton/json

所以:

data: 可以传纯键值对的dict(非嵌套的dict),也可以传str格式(如果是嵌套字典,那么就需要使用json.dumps()把嵌套字典转化成json字符串传参)

json:可以传任何形式的dict(包括嵌套的dict)

 

 

json.loads(xx)  把json字符串转化为dict格式

json.dumps(xx) 把dict格式转化为json字符串

 

ps:在python种,json是dict类型的字符串格式。

四。requests模块返回的response对象详解

 

 

 res.cookies

res.headers

res.request.xxx

res.status_code

res.json()

res.text

res.content

五. 请求必须带请求头的接口,以及需要cookie鉴权和session鉴权的接口

90%以上的基于web接口都有cookie鉴权

两种解决方法:

  • 1.使用cookie关联

res=requests.get(url,params)

cookies_res=res.cookies

requests.get(url2,params,cookies=cookies_res)

  • 2.使用session关联

sess=requests.session()

ers=sess.get(url,parama)

使用sess这一个相同的会话来进行http请求,那么所有请求都是同一个会话,就不用再传入cookie值了