gpt4 book ai didi

javascript - 如何将参数从 Gruntfile.js 传递到 webdriverio 规范?

转载 作者:行者123 更新时间:2023-11-28 00:27:17 24 4
gpt4 key购买 nike

我想从 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

  • 网络驱动管理器:3.0.0

  • grunt-webdriver:0.4.8

最佳答案

好的,我明白你的问题了:)

这些“主机”和“端口”参数是预定义的参数,用于其他目的(它将执行测试的主机和端口,并且您正在重新定义端口 - 这就是它们失败的原因,因为此处示例 - https://github.com/webdriverio/webdriverio/blob/master/examples/webdriverio.saucelabs.js 您可以看到它们用于连接到 saucelabs)。为此,最简单的解决方案是定义 ENV 变量并为它们设置一些默认值(但实际上您不应该在 gruntfile 内执行此操作,这不是必需的)您可以在第一次放置这些变量的文件中定义它,例如:

testHost: (typeof(process.env.TEST_HOST) === 'undefined') ? 'http://localhost' : process.env.TEST_HOST;

之后,如果需要作为环境变量,您只需提供 TEST_HOST:

    Linux: sh~ TEST_HOST=http://google.com
grunt task
Win: export TEST_HOST=http://google.com
grunt task

如果您不设置该变量,则“http://localhost ”将是默认变量。

关于javascript - 如何将参数从 Gruntfile.js 传递到 webdriverio 规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29370075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com