Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 量角器-Cumber-JS-未定义的步骤_Javascript_Protractor_Webdriver_Cucumberjs - Fatal编程技术网

Javascript 量角器-Cumber-JS-未定义的步骤

Javascript 量角器-Cumber-JS-未定义的步骤,javascript,protractor,webdriver,cucumberjs,Javascript,Protractor,Webdriver,Cucumberjs,我在量角器中使用Cucumber(使用Webstorm)面临下一种情况 当我尝试运行我拥有的唯一功能时,它会显示下一条消息(我已经在类中定义了步骤) 这是我的配置文件(conf.js) 下一个是我的步骤定义文件(step\u defs\u Login.js) 不要忘记JSON文件(package.JSON) 我不知道这是否必要,但这是我的Hooks文件(Hooks.js) 我已经安装了下一个: Protractor version 5.4.2 Node version 10.16.3 NPM

我在量角器中使用Cucumber(使用Webstorm)面临下一种情况

当我尝试运行我拥有的唯一功能时,它会显示下一条消息(我已经在类中定义了步骤)

这是我的配置文件(conf.js)

下一个是我的步骤定义文件(step\u defs\u Login.js)

不要忘记JSON文件(package.JSON)

我不知道这是否必要,但这是我的Hooks文件(Hooks.js)

我已经安装了下一个:

Protractor version 5.4.2 
Node version 10.16.3 
NPM 6.9.0
这是项目结构:

这是运行配置

有人能帮我做这个吗?

试试看

require: ['../step_defs/*.js']


在cucumberOpts对象

中,您是否获得了在“双引号”中包含的功能文件中传递的字符串


看起来您正在使用Webstrom处理此cucumber框架。据我所知,Webstrom将自动找到该步骤的相应步骤定义。谈到这个问题,

1) 打开功能文件并检查特定步骤是否显示为已实施 2) 尝试用正则表达式(.*)替换{string},正则表达式将接受任何类型的数据,并检查功能文件中的同一步骤-步骤


检查以上两种情况

同时添加具有此场景的cucumber功能文件是的,完全使用双引号。
import { Given, Then, When } from "cucumber";
import { browser, by, element, } from 'protractor';

    Given('I open the url {string}', function (string) {
        browser.get(string);
        //    callback();
    });

    When('proceed to enter my username as {string}', function (string1) {
        let username = element(by.id('j_username_input')).clear();
        username = element(by.id('j_username_input')).sendKeys(string1);
        //    callback();
    });

    When('proceed to enter my password as {string}', function (string2) {
        let password = element(by.id('j_password')).clear();
        password = element(by.id('j_password')).sendKeys(string2);
        //    callback();
    });

    Then('I have been logged in successfully', function () {
        element(by.id('button')).click();
        //   callback();
    });
    {
  "name": "package",
  "version": "1.0.0",
  "description": "First Protractor Cucumber project",
  "main": "conf.js",
  "scripts": {
    "test": "cucumberjs"
  },
  "keywords": [
    "TAE"
  ],
  "author": "zzz",
  "license": "ISC",
  "devDependencies": {
    "cucumber": "^5.1.0",
    "selenium-webdriver": "^4.0.0-alpha.5"
  },
  "dependencies": {
    "protractor": "latest"
  }
}
let {defineSupportCode} = require('cucumber');
defineSupportCode (function ({After, Before}){

    Before(function () {
     //   return this.driver.manage().window().maximize()
     return this.browser.manage().window().maximize();
    })

    After(function () {
        return this.driver.quit()
    })

});
Protractor version 5.4.2 
Node version 10.16.3 
NPM 6.9.0
require: ['../step_defs/*.js']
require: ['./step_defs/*.js']
I open the url "myUrl"