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

Ответы (1 шт):
Насколько я знаю, способа скрыть какой-то отдельный аргумент нет.
Я могу предложить разве что одно очевидное и одно не очень красивое решение. (и я надеюсь кто-то подскажет вам что-то получше)
использовать
with allure.step(...)внутри метода вместо декоратора@allure.step(...), тогда в репорте не будет аргументов метода.Вместо декоратора
@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
я тестировал что-то подобное месяц назад, работало. Но я бы не назвал это решение правильным.