Как использовать тестовые данные из conftest.py в тестовом наборе - PullRequest
1 голос
/ 05 апреля 2020

Я пишу набор тестов автоматизации в среде 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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...