python的requests接口测试

本文详细介绍了Python的requests库,包括GET和POST请求的两种方式,以及如何从CSV文件读取请求参数进行批量测试。同时,展示了如何结合pytest生成测试报告和使用Allure生成测试报告,为HTTP请求的自动化测试提供了全面的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

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

安装前提

pip install requests

get获取数据的第一种方式

import requests
class testDemo():
    def testClass(self):
        # 使用get测试的第一种方式
        r="http://apis.juhe.cn/simpleWeather/query?city=%E5%8C%97%E4%BA%AC&key=d69c928f3828935873d001e1faa0040c"
        a=requests.get(r)
        # 查看url
        print(a.url)
        print("-----------------")
        # 查看状态码
        print(a.status_code)
        print("-----------------")
        # 响应文本
        print(a.text)
        print("-----------------")
        # 以二进制数返回
        print(a.content)
        print("-----------------")
        # 当前编译格式
        print(a.encoding)
tt=testDemo()
tt.testClass()

get获取数据的第二种方式

import requests
class testDemo():
    def testClass(self):
        url="http://apis.juhe.cn/simpleWeather/query"
        zd={"city":"北京","key":"d69c928f3828935873d001e1faa0040c"}
        zz=requests.get(url,params=zd)
        print(zz.text)
tt=testDemo()
tt.testClass()

使用post获取数据的第一种方式

import requests
class testDemo():
    def testClass(self):
        url="http://apis.juhe.cn/mobile/get?phone=17319197731&dtype=&key=ac6fc9689c6dcd90670753c71014e300"
        ff=requests.post(url)
        print(ff.text)
tt=testDemo()
tt.testClass()

使用post获取数据的第二种方式

import requests
class testDemo():
    def testClass(self):
        url="http://apis.juhe.cn/mobile/get"
        zd={"phone":"1739197731","key":"ac6fc9689c6dcd90670753c71014e300"}
        ff=requests.post(url,zd)
        print(ff.text)
tt=testDemo()
tt.testClass()

创建一个csv的文件并把url和请求参数请求方法添加到csv内

在这里插入图片描述

创建读取csv的文件

import csv

class ReadDemoCsv():
    def readCsv(self):
        item=[]
        rr=csv.reader(open("../csvtest/0607.csv","r"))
        for i in rr:
            item.append(i)
        return item[1:]
rr=ReadDemoCsv()
print(rr.readCsv())

if判断返回状态码

from csvDataDemo.csvDemo import ReadDemoCsv
rrr=ReadDemoCsv()
lists=rrr.readCsv()
import requests
class requetbbb():
    def ccc(self):
        itme=[]
        for i in lists:
            if i[2]=="get":
                rr=requests.get(i[0],params=i[1])
                itme.append(rr.status_code)
            else:
                rr=requests.post(i[0],data=i[1])
                itme.append(rr.status_code)

        return itme
rc=requetbbb()
print(rc.ccc())

结合pytest生成测试报告

import pytest
from csvaaaa.requesttest import requetbbb
rc=requetbbb()
ff=rc.ccc()
class TestClass():
    def test001(self):
        for i in ff:
            assert i==200
if __name__ == '__main__':
    pytest.main(["test_001.py"])

生成allure测试报告

import pytest,os,allure
from csvaaaa.requesttest import requetbbb
rc=requetbbb()
ff=rc.ccc()
class TestClass():
    def test001(self):
        for i in ff:
            assert i==200
if __name__ == '__main__':
    pytest.main([ '--alluredir', 'report/result', 'test_001.py'])
    split = 'allure ' + 'generate ' + './report/result ' + '-o ' +'./report/html ' + '--clean'
    os.system(split)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值