Как скрыть в allure report передаваемые параметры(password)? Python+Pytest

Подскажите пожалуйста, я недавно в автотестировании, но столкнулся с следующим вопросом: allure report отображает password для используемых в тестах аккаунтов. Как можно скрыть передаваемые в запрос параметры? введите сюда описание изображения


Ответы (1 шт):

Автор решения: Данил М.

Насколько я знаю, способа скрыть какой-то отдельный аргумент нет.

Я могу предложить разве что одно очевидное и одно не очень красивое решение. (и я надеюсь кто-то подскажет вам что-то получше)

  1. использовать with allure.step(...) внутри метода вместо декоратора @allure.step(...), тогда в репорте не будет аргументов метода.

  2. Вместо декоратора @allure.step(...) использовать кастомный декоратор, что-то вроде:

from functools import wraps
from allure_commons.utils import represent, func_parameters

import allure


def hidden_params_step(step_title):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            f_args = list(map(lambda x: represent(x), args))
            f_params = func_parameters(func, *args, **kwargs)
            with allure.step(step_title.format(*f_args , **f_params )):
                func(*args, **kwargs)
        return wrapper
    return decorator

я тестировал что-то подобное месяц назад, работало. Но я бы не назвал это решение правильным.

→ Ссылка