Добавьте локальные переменные тестовых функций pytest, чтобы сделать отдельный столбец в pytest-csv - PullRequest
2 голосов
/ 07 апреля 2020

Я пытаюсь добавить столбцы в журналы, созданные pytest-csv, и заполнить их, используя локальные переменные моей тестовой функции.

Моя тестовая функция выглядит примерно так:

def test_login(browser):
  search_page = SearchPage(browser)
  search_page.load()
  login_success = search_page.login()
  assert login_success=='Proceed'

Я хочу добавить значение переменной login_success в столбец. Есть способ сделать это, используя свойства и properties_as_columns, но я не могу понять, как это сделать. Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 07 апреля 2020

Используйте приспособление record_property для хранения значений:

def test_login(record_property, browser):
    search_page = SearchPage(browser)
    search_page.load()
    login_success = search_page.login()
    <b>record_property('status of the login step', login_success)</b>
    record_property('something else', 123)
    assert login_success == 'Proceed'

Если вы теперь выберите столбец properties при выполнении тестов, все записанные свойства будут сохранены там:

$ pytest --csv out.csv --csv-columns properties
...

$ cat out.csv 
properties
"something else=123,status of the login step=Proceed"

Если вы выберете properties_as_columns, каждое записанное имя получит отдельный столбец в отчете csv:

$ pytest --csv out.csv --csv-columns properties_as_columns
...
$ cat out.csv
something else,status of the login step
123,Proceed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...