login.csv文件
''' url,body,response http://***/loginByPwd,"{""token"": """",""mobile"": ""13500000000"",""pwd"": ""cs123456""}","{""code"": ""1000""}" http://***/loginByPwd,"{""token"": """",""mobile"": """",""pwd"": ""cs123456""}","{""code"": ""1001""}" http://***/loginByPwd,"{""token"": """",""mobile"": ""13500000000"",""pwd"": """"}","{""code"": ""1001""}" '''
read_csv.py文件
''' import csv def read_CSV(): with open('login.csv', 'r', encoding='utf-8') as f: reader = csv.reader(f) # <_csv.reader object at 0x000001B016A15C40>可以看到reader是一个内存地址,其实这个时候可以利用list()方法 # print(reader) next(reader) # 忽略首行,next()方法进行第一次取值 # print(list(reader)) # l1 = list(reader) # print(l1) # print(type(l1[0][1])) # print(type(l1[0][2])) return list(reader) # read_CSV() '''
test_csv_login.py文件
''' import pytest import requests import json from pytest_study.read_csv import * # read_CSV()返回的数据类型是[[{}]],所以使用'data'不一定非要是列表套字典,记住了... @pytest.mark.parametrize( 'data', read_CSV() ) def test_csv_login_001(data): r = requests.post(url=data[0], data=json.loads(data[1])) # data[1]为字符串类型 assert r.json()['code']==json.loads(data[2])['code'] # data[2]为字符串类型 if __name__ == '__main__': pytest.main(['-v', '-s', 'test_csv_login.py']) '''
csv文件操作
''' """ '''csv文件写入''' import csv with open('login.csv', 'w', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(['url', 'body', 'response']) # 首行,writerow写入一行 writer.writerows( [ ["http://***/loginByPwd", '{"token": "","mobile": "13500000000","pwd": "cs123456"}', '{"code": "1000"}'], ["http://***/loginByPwd", '{"token": "","mobile": "","pwd": "cs123456"}', '{"code": "1001"}'], ["http://***/loginByPwd", '{"token": "","mobile": "13500000000","pwd": ""}', '{"code": "1001"}'] ] ) # 内容,writerows写入多行 '''csv文件读取''' import csv with open('login.csv', 'r', encoding='utf-8') as f: reader = csv.reader(f) print(reader) # <_csv.reader object at 0x000001B016A15C40>可以看到reader是一个内存地址,其实这个时候可以利用list()方法 next(reader) # 忽略首行,next()方法进行第一次取值 """ '''