Pytest中引數化之CSV檔案實戰

2022-09-14 21:03:19 字數 1908 閱讀 6383

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()

'''

'''

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檔案寫入'''

import csv

with open('login.csv', 'w', encoding='utf-8') as f:

writer = csv.writer(f)

writer.writerow(['url', 'body', 'response']) # 首行,writerow寫入一行

]) # 內容,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()方法進行第一次取值

"""'''

pytest 之 fixture引數化

pytest 之 fixture引數化 前面通過unittest框架介紹了ui自動化po模式,basepage封裝後,unittest框架搭建的ui自動化框架,基本就成型了。前面的幾篇pytest文章,也簡要介紹了pytest和unittest框架的相同與不同之處。將unittest框架替換為pyt...

pytest之引數化parametrize的使用

在測試用例的前面加上 pytest.mark.parametrize 引數名 列表資料 引數名 用來接收每一項資料,並作為測試用例的引數。列表資料 一組測試資料。示例 import pytest test datas 11,22,33 22,33,55 datas dict 方式一 直接寫 pyte...

Jmeter引數化之CSV

1 csv存放資料,jmeter去讀取 filename 檔案的路徑加檔名,檔案已csv格式的,路徑有兩種方式,一種是絕對路徑 csv檔案的存放路徑 一種是相對路徑 當前路徑下找,這個當前路徑是當前測試指令碼存放的路徑 file encoding 檔案的編碼格式 variable names 變數名...