Ведите распечатку всех тестов в текстовый файл - PullRequest
0 голосов
/ 18 октября 2018

Меня попросили предоставить список всех функций и сценариев поведения, которые мы запускаем как часть нашего регрессионного пакета для документа для внешнего клиента (не шаги)

Поскольку наш набор регрессионных тестов в настоящее времяоколо 50 файлов объектов с минимум 10 сценариями в каждом, я бы не стал копировать и вставлять вручную.

Есть ли способ экспортировать имя и идентификатор компонента, а затем имя и идентификатор каждого сценария, относящегося к этой функции, либо в CSV, либо в текстовый файл?

В настоящее время наши тесты на поведение выполняются локально, и я использую PyCharm IDE для их редактирования.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Вы можете воспользоваться context.scenario, чтобы получить имя сценария и имя компонента, а затем записать их в текстовый файл.Вы должны поместить этот код в after_scenario в environment.py, чтобы вы также могли получить статус сценария.

Я использую его для экспорта имени сценария, состояния и имени функции в текстовый файл.Каждый будет отделен "|".Позже я импортирую этот файл в файл Excel для создания отчетов.

Вот код, который можно использовать для справки:

def write_scenario_summary(context, scenario, report_path):
    try:
    # scenario status could be [untested, skipped, passed, failed]
        status = scenario.compute_status().name.upper()
        feature = ReportingHelper.get_feature_name(scenario)
        logging_info = '{status} | {feature} | | {scenario_name}'.format(
        status=status,
        feature=feature,
        scenario_name=scenario.name)
    print(logging_info, file=open(report_path, 'a'))


def get_feature_name(scenario):
    feature_file_path = scenario.feature.filename
    return os.path.basename(feature_file_path)

Надеюсь, это поможет.

0 голосов
/ 19 октября 2018

Я нашел обходной способ сделать это.

Установите Behave для экспорта во внешний текстовый файл с помощью команды outfiles = test_list

Затем используйте команду поведении -d для запуска моих тестов в режиме пробного запуска.Затем он заполняет текстовый файл функцией, сценарием и этапом каждого теста.Я могу экспортировать это в Excel, и с помощью фильтрации можно изолировать строки объекта и сценария, удаляя шаги, а затем использовать текст в столбцах, чтобы отделить описание объекта / сценария от его пути / имени теста.

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

...