获取脚本根目录—>csv文件数据—>python列表—>导入测试用例

1、获取脚本根目录
import os

path_root = os.path.realpath(__file__).split('commen')
print(path_root)

2、csv文件----->python列表

import pandas
import json
from commen.getpath import path_root

path_csv01 = path_root + r'data\post.csv'
datacsv = pandas.read_csv(path_csv01, sep=',')
print(datacsv)
datajson = pandas.DataFrame.to_json(self=datacsv, orient="records")
datalist01 = json.loads(datajson)

3、导入测试用例

import requests
import unittest
import ddt
from data.getcsv import datalist01

@ddt.ddt()
class TestPost(unittest.TestCase):
    def setUp(self) -> None:
        pass
    def tearDown(self) -> None:
        pass
    @ddt.data(*datalist01)
    def test01(self, dp):
        url01 = "http://127.0.0.1:8000/api/departments/"
        dptid = dp["dep_id"]
        dptname = dp["dep_name"]
        mastername = dp["master_name"]
        slogan = dp["slogan"]
        code = dp["code"]
        # dep_id为空、缺失和正常的情况
        if dp["dep_id"] == None:
            dptid = ""
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, mastername, slogan)
        elif dp["dep_id"] == "缺失":
            data = '{"data":[{"dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptname, mastername, slogan)
        # dep_name为空、缺失和正常的情况
        elif dp["dep_name"] == None:
            dptname = ""
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, mastername, slogan)
        elif dp["dep_name"] == "缺失":
            data = '{"data":[{"dep_id":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid,mastername, slogan)
        # master_name为空、缺失和正常的情况
        elif dp["master_name"] == None:
            mastername = ""
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, mastername, slogan)
        elif dp["master_name"] == "缺失":
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, slogan)
        # slogan为空、缺失和正常的情况
        elif dp["slogan"] == None:
            slogan = ""
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, mastername, slogan)
        elif dp["slogan"] == "缺失":
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s"}]}' % (
            dptid, dptname, mastername)
        else:
            data = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (
            dptid, dptname, mastername, slogan)
        myheader = {"Content-Type": "application/json"}
        reqst = requests.post(url01, data=data.encode('utf-8'), headers=myheader)
        print("用例编号:", dp["bh"])
        print("用例性质:", dp["xz"])
        print("用例标题:", dp["bt"])
        print("预期结果:", dp["yqjg"])
        print("返回的状态码:", reqst.status_code)
        print("返回的响应报文:", reqst.text, end='  ')
        self.assertEqual(code, reqst.status_code)
    if __name__ == '__main__':
        unittest.main()

csv文件格式

dep_id,dep_name,master_name,slogan,code
null,bbbb,b_master,b is the best,400
CCCC,null,c_master,c is the best,400
DDDD,dddd,null,d is the best,400
EEEE,eeee,e_master,e is the best,201
缺失,ffff,f_master,hello,,400
GGGG,缺失,g_master,g is the best,400
HHHH,hhhh,缺失,h is the best,400
TRUE,iiii,i_master,i is the best,400
JJJJ,FALSE,j_master,j is the best,400
KKKK,kkkk,TRUE,k is the best,400
LLLL,llll,l_master,数值:123,400
AAAA,aaaa,a_master,缺失,201

注:每一行数据为一组字典,最上面一行代表每一列的字段值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值