#javascript #cucumberjs
#javascript #cucumberjs
Вопрос:
Я пытаюсь использовать случай переключения, чтобы сделать повторно используемый тестовый шаг с использованием JavaScript.
Тем не менее, cucumber предполагает, что мой шаг не определен, и я не уверен, почему.
Рассматриваемый функциональный шаг заключается в следующем:
Когда я ищу «людей» с именем «CharacterSearch»
Код, лежащий в основе моей функции, выглядит следующим образом:
When('I search for {string} with name {string}', async (type, name) => {
switch(type) {
case "planets":
await searchFormPO.planetsRadioButton.click();
break;
case "people":
await searchFormPO.peopleRadioButton.click();
break;
default:
throw 'Please use planets or people as type input for this testcase.';
}
await searchFormPO.input.click;
await searchFormPO.input.sendKeys(name);
await searchFormPO.searchBtn.click();
});
Ошибка, отображаемая при запуске моего теста, выглядит следующим образом:
Undefined. Implement with the following snippet:
When('I search for {string}', function (string) {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
Это предполагает, что мой код должен быть функцией, которую я уже пробовал.
Но мои навыки JS немного устарели, поэтому я, возможно, что-то упускаю из виду.
Я пробовал гуглить случаи переключения в JS с помощью cucumber, но не могу найти выход из этого.
Комментарии:
1. Насколько вы уверены, что Cucumber понимает
async
функции (которые всегда возвращают обещания)?2. Я нет, я родом из Java, и асинхронная обработка JS в сочетании с cucumber для меня в новинку.
3. Ну, он может понимать асинхронные функции, но ваша функция ничего не возвращает (что объясняет
undefined
жалобу).4. Я только что проверил это на своих шагах асинхронного тестирования, и они также ничего не возвращают, но работают просто отлично. Сбой происходит исключительно с случаем переключения.
5. Невозможно, чтобы a
switch
в подобной функции приводило к сбою.
Ответ №1:
Этот код работает нормально, проблема заключалась в ошибочно отображенном старом файле функций.