【发布时间】:2015-03-31 13:39:17
【问题描述】:
我想从 Gruntfile.js 参数化我的 webdriverio 规范。 目标是在 Grunt 中指定主机、端口、用户名、密码以及可能的其他参数,然后从规范文件中读取它们。
从https://www.npmjs.com/package/grunt-webdriver#overview 阅读 Source Labs 示例我在选项中设置了主机和端口。但是在配置端口时出现以下错误:
/Users/sandro/Developing/Projekte/sling/svn/contrib/explorers/resourceeditor/frontend/node_modules/grunt-webdriver/node_modules/webdriverio/lib/utils/PromiseHandler.js:154
throw error;
RuntimeError: RuntimeError
这就是为什么我认为必须有其他方法来做到这一点。 我的 Gruntfile.js 看起来像这样:
module.exports = function(grunt) {
var e2eTestSpecFolder = '../src/test/javascript/e2e/spec/**/*spec.js';
grunt.initConfig({
...
webdriver: {
options: {
host: 'localhost',
port: 8080
},
chrome: {
tests: [e2eTestSpecFolder],
options: {
// overwrite default settings
desiredCapabilities: {
browserName: 'chrome'
}
}
},
firefox: {
tests: [e2eTestSpecFolder],
options: {
// overwrite default settings
desiredCapabilities: {
browserName: 'firefox'
}
}
}
}
})
...
grunt.registerTask('desktop_build', ['webdriver:chrome', 'webdriver:firefox']);
};
提前感谢您的任何提示!
更新: 我使用以下版本:
grunt-cli: v0.1.13
咕噜声:v0.4.5
webdriver-manager: 3.0.0
grunt-webdriver: 0.4.8
【问题讨论】:
-
嗨。你的 grunt 和 w.io 版本是什么?你想达到什么目的?将 webdriver.io 连接到外部集线器/通过代理?
-
测试应该使用主机和端口打开一个网站,并使用用户名和密码登录该网站。测试在那里创建数据,删除数据等等。但是主机、端口、用户名和密码应该是可配置的。我想在 grunt.js 文件中为这些值提供初始配置,并且我想让它们可以从命令行覆盖。但问题是,如何将这些变量从 grunt 文件传递给 webdriver.io 规范。版本: grunt-cli:v0.1.13 grunt:v0.4.5 webdriver-manager:3.0.0 grunt-webdriver:0.4.8
标签: javascript gruntjs webdriver-io