首页 > 解决方案 > 如何使用 JavaScript 正确处理与黄瓜相结合的开关案例?

问题描述

我正在尝试使用 switch case 来使用 JavaScript 进行可重用的测试步骤。

然而,黄瓜表明我的步骤是不确定的,我不知道为什么。

有问题的特征步骤如下:

当我搜索名称为“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 中搜索开关盒,但无法通过谷歌搜索。

标签: javascriptcucumberjs

解决方案


此代码工作正常,问题出在错误映射的旧功能文件中。


推荐阅读