там просто запуск через дженкинс, перед запуском мы ему говорим имя параметра и дальше в скрипте он его в строку запроса cmd передает, можно конечно и в файл записывать, это одна сторона вопроса, другое дело как .feature получит значение
Можно сделать просто - создать метод, который будет смотреть куда-то, брать значение по ключу, записывать его в переменную.
А дальше в тесте использовать эту переменную.
Как при этом должен измениться файлы .feature и .cs
Scenario Outline: TestTest
Given I went to the page
When I checkname <name>
Then the name <name> must match the one found.
Examples:
| name |
| machinename |
[When(@"I checkname (.*)")]
public void TestTest(string name)
{
func(name);
}
Допустим нам известен name который мы записали в переменную, мы его получили и передали в func(name);
Каким образом передать это в шаг? по сути потом строится отчет в котором мы должны увидеть наш name
[When(@"I checkname (.*)")]
public void TestTest(string name)
{
func(machine);
}
Тест отрабатывает, но каким образом я могу в шаг передать значение machine ,возможно ли это? или наоборот в сам файл .feature возможно сразу передать значение?
дык ок, способы разные, но больше интересует как в .feature это запихать, чтобы потом в отчете у меня параметр отобразился в определенном шаге, или же как то по другому в шаг можно запихать параметр?
Вставь в feature placeholder, во время билда, после взятия изменений но перед компиляцией сделай операцию find-replace (найти placeholder - заменить его параметром), дальше делай компиляцию и дальше процесс.
Это все через Дженкинс гоняется, в начале запуска выбираем параметры нужные (типа на какой виндовой машине запустить) и перед билдом проекта скриптом распихивает значения и билдит проект, затем запускает.
Другое дело, при отладке или дополнению тестов, да, нужно учесть этот момент