每个键必须是一些字符串;有功能

each key must be a number of string; got function

我在 Cucumber 中有这个场景:

Scenario Outline: Protractor and Cucumber Test InValid

    Given I have already......
    When I fill the <number>
    ....


    Examples:
| number|...
| 3 |...
|4  |...

我在 .js 文件中有这个步骤定义:

 When('I fill the {int}',{timeout: 90 * 1000},  function(callback, number) {

        element(by.css("*[id='field_identificador']")).click();
        element(by.css("*[id='field_identificador']")).sendKeys(number).then(callback);

    });

我收到这个错误:每个键必须是一个数字字符串;得到函数

当我在没有场景大纲的情况下通过自己输入一个值来执行测试时,例如:.sendKeys('4') 它有效。

我是不是做错了什么?

你的论点顺序错误。 callback 始终是参数列表中的最后一个元素。

修复:

When('I fill the {int}',{timeout: 90 * 1000},  function(number, callback) {

        element(by.css("*[id='field_identificador']")).click();
        element(by.css("*[id='field_identificador']")).sendKeys(number).then(callback);

    });