飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一: 接口测试概念(了解):

接口测试: 按照约定的格式给待测软件传入某些数据,之后检测端口给的返回值是否正确。
1: 通过协议,域名,端口,路径测试。
2:通过PostMan 或者(requests)模块进行测试。
3: 保存一些记录,方便以后使用。

二: 环境的搭建(掌握):

1: 创建虚拟环境:

# 查看python3的位置
which python3
/urs/bin/python3
# 指定python3解释器创建虚拟环境
 mkvirtualenv test_v7 -p /usr/bin/python3

2: 安装依赖的包:

修改fdfs客户端安装包的位置路径:
pwd 查看fdfs客户端所在的位置
vim requirements.txt 修改fdfs所在的路径

执行命令进行安装:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3: 恢复数据库数据:

重新创建数据库:
mysql> create database meiduo_mall_db default charset utf8;
Query OK, 1 row affected (0.01 sec)

生成数据库表:
python3 manage.py migrate

恢复数据:
cd meiduo_mall/scripts
执行导入数据库数据的脚本文件
./import_areas_data_to_db.sh

创建用户与修改密码:
python3 manage.py createsuperuser
修改原有用户的密码:
python3 manage.py changepassword python

三:PostMan的基本使用

1: 根据接口文档使用PostMan完成接口测试:

查询用户是否存在:
在这里插入图片描述
测试结果: 用户不存在。

2: 导入导出PostMan的记录:

1: 新建文件夹:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2: 将测试记录保存到文件夹中:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3: 将数据导出备份:
在这里插入图片描述
在这里插入图片描述
选择桌面,发现桌面多出一个文件。
在这里插入图片描述
4: 导入备份数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四: Requests模块的基本使用:

注意:
1: Requests 是客户端的请求,不是后端的模块。
2: Requests 常用于爬虫和测试。
3: Requests 原理就是发送http请求,获取后端响应。

1: Request简单的使用:

# 1: 导入requests模块包
import requests

# 2: 使用requests.get()方法获取一个Response对象
resp  = requests.get('http://www.meiduo.site')

# 3: 打印响应码
print(resp.status_code)

# 4: 打印响应头
print(resp.headers)

# 5: 打印响应体,没有解码
print(resp.content)

# 6: 打印响应体,解码之后的
print(resp.text)

2: 编码问题:

问题: 刚才使用resp.text打印出来的是中文乱码。
原因: Response对象默认使用的是ISO-8859-1,而中文显示需要utf-8.
解决: 设置Response对象的默认编码格式:

# 1: 导入requests模块包
import requests

# 2: 使用requests.get()方法获取一个Response对象
resp  = requests.get('http://www.meiduo.site:8080')
print(resp.encoding) # 默认是ISO-8859-1

# 指定编码
resp.encoding = "utf-8"
print(resp.encoding)# 修改成utf-8

# 3: 打印响应体,解码之后的
print(resp.text)

3: Response.json()的使用:

作用: 如果后台返回的是json数据,使用这个方法可以直接转换成字典。如果返回的不是json数据,报错。

import requests

response_postman = requests.get("http://postman-echo.com/ip")

print(response_postman.text, type(response_postman.text))
print(response_postman.json(), type(response_postman.json()))
#{"ip":"116.30.197.160"} <class 'str'>
#{'ip': '116.30.197.160'} <class 'dict'>

4: GET请求—传递URL请求

import requests

args_dict = {
    "name": "任善文",
    "age": 25,
    "like": ["足球", "篮球"]
}

response_url = requests.get("https://postman-echo.com/get", args_dict)
print(response_url.text)

效果:
在这里插入图片描述

5: 定制头部信息和Cookie信息

import requests

args_dict = {
    "name": "任善文",
    "age": 25,
    "like": ["足球", "篮球"]
}

headers_dict = {
    "type": "json"
}

response_url = requests.get("https://postman-echo.com/headers", args_dict, headers=headers_dict)

print(response_url.text)

测试结果:
在这里插入图片描述

注意: 请求头中不能是中文,不然会报类型转换错误。

import requests

args_dict = {
    "name": "任善文",
    "age": 25,
    "like": ["足球", "篮球"]
}

cookie_dict = {
    "type": "json",
    "name": "renshanwen"
}

response_url = requests.get("https://postman-echo.com/cookies", args_dict, cookies=cookie_dict)

print(response_url.text)

测试结果:
在这里插入图片描述

6: 发送post请求:

注意一点:data 传递表单数据,json传递json数据。
在这里插入图片描述

import requests
user_info = {
    "username": "renshanwen",
    "password": "12345678",
    "remembered": True
}
response_post = requests.post("http://127.0.0.1:8000/login/", json=user_info)
print(response_post.json())

测试结果:
在这里插入图片描述

7: request.session的特点:

注意: 对于request.get()方法和request.post方法,不会具有状态保持的特性。也就是下次再发送不会携带上次的cookie。这就需要到request中的一个类,使用session类对象,可以实现状态保持。

先进行登录,如果登录后可以获取用户信息,就表示可以状态保持。

import requests


# 进行登陆
user_info = {
    "username": "renshanwen",
    "password": "12345678",
    "remembered": True
}
response_post = requests.post("http://127.0.0.1:8000/login/", json=user_info)
print(response_post.json())


# 获取用户信息
response_post = requests.get("http://127.0.0.1:8000/info/")
print(response_post.json())

测试结果:
在这里插入图片描述

import requests
# 进行登陆
user_info = {
    "username": "renshanwen",
    "password": "12345678",
    "remembered": True
}

# 获取一个Session对象
session_user = requests.Session()
response_post = session_user.post("http://127.0.0.1:8000/login/", json=user_info)
print(response_post.json())


# 获取用户信息
response_post = session_user.get("http://127.0.0.1:8000/info/")
print(response_post.json())

测试:
在这里插入图片描述

posted on 2020-10-20 09:43  飞行的猪哼哼  阅读(49)  评论(0)    收藏  举报