Я пишу набор тестов автоматизации в среде pytest. Я добавляю функцию фиксации pytest в Conftest.py для импорта тестовых данных (этот прибор импортирует данные из Excel и генерирует мне тестовые данные). Как использовать тестовые данные из conftest.py в наборе тестов.
( Примечание : Написанный набор тестов - скорее псевдокод, а не реальный код. больше внимания уделяется параметризации теста, и данные любезно игнорируют код набора тестов. ).
Conftest.py
import pytest
import openpyxl as xl
@pytest.fixture
def test_data():
book = xl.load_workbook('../utils/testdata.xlsx', data_only=True)
sheet=book.get_sheet_by_name('Sheet1')
max_rows=sheet.max_row
max_columns=sheet.max_column
dataset=[]
temp=[]
for x in range(2,max_rows+1):
for y in range(1,max_columns+1):
val=sheet.cell(x,y)
temp.append(val.value)
dataset.append(temp)
temp=[]
yield dataset
Test_Suite:
import pytest
@pytest.mark.usefixtures('test_data')
class Test_main():
@pytest.mark.parametrize("portal_code,DOB,user_name,pwd",dataset) # dataset from conftest.py
def test_login(self,portal_code,DOB,user_name,pwd):
login.enter_portal_code(portal_code)
login.choose_DOB(DOB)
login.enter_username(user_name)
login.enter_pwd(pwd)
login.click_login()
Содержимое Excel