pytest接口自动化测试框架 | 用python代码测试接口

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest接口自动化测试框架 | 用python代码测试接口相关的知识,希望对你有一定的参考价值。

视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!


Request库简介

Requests是用来发送http请求以及接受http响应的python第三方库,主要用于接口自动化测试。

安装:pip install requests

requests常用的库

requests.get() url是接口地址 params用来传参

requests.post() url是接口地址 data用来传参,json用来传参

Data和Json传参:主要通过Content-Type来区分

Content-Type:作用是服务器要求传入的报文的内容类型

Json:Content-Type:application/json

Data:Content-Type:application-www-form-unlencoded

Content-Type:text/plain

requests.delete()

requests.put()

requests模块返回的response对象详解

res.json()返回的字典格式数据

res.text()返回的字符串格式数据

res.content 返回的是bytes字节类型数据

res.status_code返回状态码

res.reason返回状态信息

res.cookies返回cookie信息

res.headers返回响应头

res.url返回地址

import json

import requests

# get 地址 params=参数
# res = requests.get(url='http://39.98.138.157:5000/api/getweather', params='1')
# # 响应数据
# print(res.json())

# post 地址 data=参数 json=参数
# Content-type:application/json
# Content-type:url /text/plain

# res1 = requests.post(url='http://39.98.138.157:5000/api/login', json="password": "123456", "username": "admin")
# print(res1.text)

url = 'http://39.98.138.157:5000/api/login'
data = "password": "123456", "username": "xxx"
header = 'Content-Type':'application/json'
res = requests.post(url=url, data=json.dumps(data), headers=header)
print(res.json())

# 参数 json去传输 我就是想用data去传输
# json传参 传的是字典
# data传参 传的是字符串 直接改为了字符串 怎么改? json.dumps() 字典改为字符串
# 字符串改为字典 json.loads()
# data默认的类型 表单,需要改一下类型 json传输

运行结果:

C:\\Users\\guoliang\\AppData\\Local\\Programs\\Python\\Python36\\python.exe D:/SynologyDrive/SourceCode/pytest/apitest/main.py
'adress': 'city': 'changsha', 'httpstatus': 200, 'info': 'age': 18, 'name': 'xxx', 'msg': 'success', 'token': '23657DGYUSGD126731638712GE18271H'

Process finished with exit code 0

以上是关于pytest接口自动化测试框架 | 用python代码测试接口的主要内容,如果未能解决你的问题,请参考以下文章

python+pytest接口自动化(10)-自动化用例编写思路 (使用pytest编写一个测试脚本)

Python接口自动化测试之pytest与unittest区别

Python接口自动化测试之pytest与unittest区别

Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

python+requests+pytest+yaml/json+Allure+jenkins+docker接口自动化框架保姆级教学