Python教程

python的requests接口测试

本文主要是介绍python的requests接口测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

介绍

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)
这篇关于python的requests接口测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!