【发布时间】:2017-07-16 12:40:22
【问题描述】:
我在 Cucumber 中使用量角器, 首先,在没有黄瓜的情况下,我成功地运行了测试,但是当我通过 npm 添加黄瓜支持后,我得到了未定义测试的结果,见下文:
1 scenario (1 undefined)
3 steps (3 undefined)
0m00.000s
[15:04:58] I/launcher - 0 instance(s) of WebDriver still running
[15:04:58] I/launcher - chrome #01 passed
Process finished with exit code 0
这意味着 chromeDriver 启动并在几秒钟后关闭, 我在两个项目上试过,一个是在 git 上: https://github.com/eis95/CucumberProtractorExample
所以你可以看到我是如何定义配置和 packages.js 文件的, 包文件:
{
"name": "uiautomation-v2.0",
"version": "0.0.0",
"description": "UIAutomationV2.0",
"main": "app.js",
"author": {
"name": "Eyal.Cohen"
},
"devDependencies": {
"cucumber": "^2.3.1",
"protractor-cucumber-framework": "^3.1.2"
},
"dependencies": {
"@types/jasmine": "^2.5.53",
"protractor": "latest"
}
}
And the conf.js file:
exports.config = {
specs: ['features/**/*.feature'],
//seleniumServerJar:'./node_modules/protractor/selenium/selenium-server-standalone-2.52.0.jar',
//chromeDriver: './node_modules/protractor/selenium/chromedriver_2.21',
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'chrome'
},
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
tags: [],
require: ['features/step_definitions/newGameSteps.js'], //'features/specSetup.js','features/**/step_definitions/**/*Steps.js'
format: 'pretty'
}
};
规格:
defineSupportCode(function({Given, When, Then}) {
Given(/^Navigate to studio url$/, function(callback) {
//callback(null, 'pending');
navigationSteps.navigateToStudio(data.server).then(function() {
loginPage.userName.isDisplyed();
})
callback();
});
When(/^Login with username and pass$/, function(callback) {
navigationSteps.loginToStudio(data.username, data.password).then(function () {
navigationSteps.navigateUrl(data.server + '/studio/#/sxp?isautomation=true').then(function () {
})
callback();
});
});
Then(/^Welcome page is displayed$/, function(callback) {
sxpSteps.sendSxp(testData.requestNewTaskSxp).then(function () {
navigationSteps.navigateToUrl(data.server + '/studio/#/schedule').then(callback)
});
callback();
});
});
感谢您的帮助 谢谢
【问题讨论】:
-
你能提供完整的日志记录和你的步骤实现吗?现在看起来它会在你的控制台中输出一个缺失的场景。如果您有一个 stepfile,这应该意味着它找不到它/代码不正确。最后一个问题,你为什么使用这么旧版本的 Protractor 和 CucumberJS?这可能会给浏览器和支持带来问题。 Protractor 已经在 5.1.2 上,CucumberJS 已经在 1.3.3 / 2.3.1 上
-
我更新了 Protractor 和 Cucumber,但是 package.js 没有更新,对吗?我想念什么? ,只需使用 npm 卸载并安装量角器: npm install protractor .... 对吗?
-
我添加了 sepc 代码 - 见帖子
-
现在它正在运行,但在完成给定函数后失败,我如何通过下一个函数的承诺 (When(...))
标签: protractor cucumber cucumberjs gulp-protractor