+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-03(1)

2019-05(1)

2019-06(1)

2019-07(7)

2019-08(118)

接口自动化request + pytest

发布于2020-09-19 17:42     阅读(154)     评论(0)     点赞(14)     收藏(1)


0

1

2

3

4

5

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_code
        print("------------")
        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 item

r = 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 requests

r = 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 item

r = 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"])

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

0

1

2

3

4

5

6



所属网站分类: 技术文章 > 博客

作者:不上班你养我呀

链接: https://www.pythonheidong.com/blog/article/532677/57b86ebff448d4b24ea4/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)