热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

接口自动化request+pytest

接口自动化requestpytestrequestsrequests定义requests响应发送无参数的get请求发送有参数的get请求模块总览将读取的数据存放到列表中reques


接口自动化request + pytest

  • requests
    • requests定义
    • requests响应
    • 发送无参数的get请求
    • 发送有参数的get请求
    • 模块总览
    • 将读取的数据存放到列表中
    • requests请求接口返回状态码,并使用断言


requests


requests定义

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求


requests响应

r.status_code 响应状态码
r.heards 响应头
r.COOKIEs 响应COOKIEs
r.text 响应文本
r. encoding 当前编码
r. content 以字节形式(二进制)返回

最常用的是根据响应状态码判断接口是否连通,经常用于做接口中断言判断


发送无参数的get请求

import requests
class Baidu():def methon(self):r = requests.get("http://apis.juhe.cn/mobile/get?phone=13611130750&type=&key=e051969849556bb1bc1e19c73c813d52")print(r)baidu = Baidu()
baidu.methon()

在这里插入图片描述


发送有参数的get请求

import requests
class Baidu():def methon(self):ps = {"phone": 13611130750, "key": "e051969849556bb1bc1e19c73c813d52"}# 将参数传到ph里面ph = requests.get("http://apis.juhe.cn/mobile/get", params=ps)print(ph.text)# 获取状态码status = ph.status_codeprint("------------")print(status)
baidu = Baidu()
baidu.methon()

在这里插入图片描述


模块总览

dataDemo(存放数据)>> readDemo(读取数据)

useRequests(发送请求)>>testDemo(生成报告)

在这里插入图片描述

在这里插入图片描述


将读取的数据存放到列表中

# 接口
url,params,methon
http://japi.juhe.cn/qqevaluate/qq,{"qq":"2962863689","key":"9aaf2d20b591e6e94edf97c1c64d290e"},post
http://apis.juhe.cn/mobile/get,{"phone":"13611130750","key":"e051969849556bb1bc1e19c73c813d52"},get

import csv
class Resd_Csv():def resd_csv(self):item = []r = csv.reader(open("../dataDemo/testdemo.csv","r"))# 循环获取csv中的数值,并添加到item中for i in r:item.append(i)# 获取下标值为 1 的值和他后面的数据item = item[1:]return itemr = Resd_Csv()
a = r.resd_csv()
print(a)

在这里插入图片描述


requests请求接口返回状态码,并使用断言

# 接口
url,params,methon
http://japi.juhe.cn/qqevaluate/qq1324,{"qq":"2962863689","key":"9aaf2d20b591e6e94edf97c1c64d290e"},post
http://apis.juhe.cn/mobile/get,{"phone":"13611130750","key":"e051969849556bb1bc1e19c73c813d52"},get


from readDemo.resd_csv import Read_Csv
import requestsr = Read_Csv()
aa = r.read_csv()
# print(aa)class RequestsClass():def requests_method(self):item = []for j in aa:if j[2] == "get":rr = requests.get(url=j[0], params=j[1])item.append(rr.status_code)else:rr = requests.post(url=j[0], data=j[1])item.append(rr.status_code)return itemr = RequestsClass()
ee = r.requests_method()
print(ee)

from useRequests.requestsuse import RequestsClass
import pytest
# 查看传过来的状态码是否正常
r = RequestsClass()
a = r.requests_method()
# print(a)
# 创建一个类,进行断言
class TestClaa():def test_one(self):# 循环取出数据并进行断言for i in a:assert i == 200
if __name__ == '__main__':pytest.main(["test_one.py"])

在这里插入图片描述
在这里插入图片描述


推荐阅读
author-avatar
Cher麻花
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有