Javascript 量角器-Cumber-JS-未定义的步骤
我在量角器中使用Cucumber(使用Webstorm)面临下一种情况 当我尝试运行我拥有的唯一功能时,它会显示下一条消息(我已经在类中定义了步骤) 这是我的配置文件(conf.js) 下一个是我的步骤定义文件(step\u defs\u Login.js) 不要忘记JSON文件(package.JSON) 我不知道这是否必要,但这是我的Hooks文件(Hooks.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
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"