requests参数化-csv文件

#!/usr/bin/env python
# -*- coding:utf-8 -*-  
#====#====#====#====   
#Author:
#CreatDate:
#Version:
#====#====#====#====
'''
1.导包,unittest是自带的框架,不需要安装
2.创建一个单元测试类(其实就是类,只不过他继承了单元测试框架单元测试用例的类)
3.执行
'''
import csv
import unittest

import requests

'''
   1.setUpClass:给当前单元测试类的所有的用例进行初始化的,是类方法
    2.tearDownClass:给当前单元测试类的所有的用例进行资源释放,是类方法
    3.setUp():主要是进行测试用例的资源初始化,测试用例的前提条件写在这
    4.test_xxx():测试用例,要把测试用例的步骤写在这个方法中,注意要test开头,是规定
    5.tearDown():主要是进行测试用例的资源释放的
'''
#定义了一个单元测试类
class unitMath(unittest.TestCase):

    #所有测试用例的资源初始化
    @classmethod
    def setUpClass(cls):
       print("我是setUpClass")


    #所有测试用例的资源释放
    @classmethod
    def tearDownClass(cls):
        print("我是tearDownClass")

    #测试用例的初始化
    def setUp(self):
        print("我是setUp方法")
        with open('data.csv', 'r', encoding='utf8') as f2:
            obj2 = csv.reader(f2)
            mylist = []
            for i in obj2:
                mylist.append(i)
        print(mylist)
        self.mm=mylist

    #测试用例,函数名必须是test开头
    def test_add_1(self):
        print("第一个接口")
        url=self.mm[0][0]
        print(url)
        res = requests.get(url)
        print("本次响应的状态码是:", res.status_code);  # 状态码
        print("本次响应的所有文本:", res.text);

        a=200
        e=res.status_code

        #添加断言
        self.assertEqual(a, e, "预期结果和实际不符")

    #测试用例,函数名必须是test开头
    def test_add_2(self):
        print("第二个接口")
        url=self.mm[1][0]
        name=self.mm[1][1]
        passwd=self.mm[1][2]
        email=self.mm[1][3]

        print(url)
        print(name)
        print(passwd)
        print(email)
        data={"name":name,"passwd":passwd,"email":email}
        res = requests.get(url,params=data)
        print("本次响应的状态码是:", res.status_code);  # 状态码
        print("本次响应的所有文本:", res.text);

        a=200
        e=res.status_code

        #添加断言
        self.assertEqual(a, e, "预期结果和实际不符")
    def test_add_3(self):
        print("第三个接口")
        url=self.mm[2][0]
        print(url)
        name=self.mm[2][1]
        passwd=self.mm[2][2]
        data={"name":name,"passwd":passwd}
        res = requests.post(url,params=data)
        print("本次响应的状态码是:", res.status_code);  # 状态码
        print("本次响应的所有文本:", res.text);

        a=200
        e=res.status_code

        #添加断言
        self.assertEqual(a, e, "预期结果和实际不符")
    def test_add_4(self):
        print("第四个接口")
        url=self.mm[3][0]
        print(url)
        name=self.mm[3][1]
        print(name)
        data={"name":name}
        #json方式传输数据
        res = requests.post(url,json=data)
        print("本次响应的状态码是:", res.status_code);  # 状态码
        print("本次响应的所有文本:", res.text);
        a=200
        e=res.status_code

        #添加断言
        self.assertEqual(a, e, "预期结果和实际不符")
    #释放测试用例资源
    def tearDown(self):
        print("我是tearDown释放资源")


if __name__=="__main__":
    unittest.main()
    #运行时,鼠标放到这里运行,才会运行所有的用例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渊途

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值