У меня есть несколько определений шагов Specflow, которые используют параметры для «Имя пользователя» и «Пароль».
Когда шаги отображаются в отчете Specflow, он отображает переданные значения. Обычно это не проблема, так как он запускается в тестовых средах, а отчет отправляется по электронной почте только отдельным лицам ... Однако выходные данные хранятся локально, и я хочу переместить их в более доступное место (в случае, если я недоступен) ... при этом нужно скрывать значения.
Я хочу иметь возможность хешировать определенные параметры после их использования. Таким образом, в отчете по умолчанию Specflow не отображаются реальные значения.
У меня уже есть потенциальный обходной путь, использующий значения, хранящиеся в файле JSON, который переопределяет параметры шага ... и из метода проб и ошибок я знаю, что этот подход не отображает значения JSON ... вместо этого в отчете Specflow хранятся значения первоначально использовался в файле возможностей.
Пример сценария функции:
Scenario: As a registered user I can log in with a valid email and password
Given I am on the Home page
When I click the Sign In option
Then The login page is displayed
When I enter valid login details and submit 'tester@test.co.uk', 'Password1!'
Then I am logged in
And The Sign In display name is displayed in the header 'Tester McTestFace'
Пример определения шага:
[When(@"I enter valid login details and submit '(.*)', '(.*)'")]
public void WhenIEnterValidLoginDetailsAndSubmit(string email, string password)
{
PageAction.CompleteLoginForm(email, password);
}
Затем он передается в WebDriver для выполнения соответствующих действий
Мой метод переопределения Json - мой единственный вариант на данный момент, но, надеюсь, есть некоторые действительно простые встроенные функциональные возможности Specflow, которые могут хэшировать значения (пока не найдется документация).