黄瓜中未定义的步骤,步骤定义调用页面对象功能

时间:2016-11-01 15:57:24

标签: javascript protractor cucumberjs

所以我是Cucumber的新手,我只是想创建一个选择一些标签的简单测试。我用这个函数创建了一个页面对象

var tabOne = $('[ui-sref="tab1"]');

this.clickTabOne = function() {
        tabOne.click();
};

然后在步骤定义..

this.Then(/^On the home page I switch to first tab$/, function() {
        return homePage.clickTabOne();
});

最后,功能文件

Feature: tabs test

  @warmup
  Scenario: As a user
    I want to select through tabs
    Given I land on the homepage
    Then I click the first tab

据我所知,小黄瓜非常糟糕,测试毫无意义,但我是JavaScript,量角器和新手的新手。黄瓜,所以我试图绕过这个..为什么说步骤未定义?打印输出中有一段说“//在这里写代码将上面的短语变成具体的动作”但是当我说返回homePage.clickTabOne()时我已经有了一个动作。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

当Cucumber找到匹配的步骤定义时,它将执行它。没有任何步骤定义与功能文件中的步骤匹配,因此错误。

您应该定义与功能上使用的步骤相匹配的步骤。在你的情况下:

this.Given(/^I land on the homepage$/, function() {
        // Your code
});

this.Then(/^I click the first tab$/, function() {
        // Your code
});

Cucumber将使用Regexp来执行匹配并执行相关的回调。

希望有所帮助