- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 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/
1、介绍 今天给大家推荐一款基于Node.js编写且号称下一代浏览器和移动自动化测试框架:WebdriverIO 简单来讲:WebdriverIO 是一个开源的自动化测试框架,它允许测试人员使用
我想使用 WebdriverIO 的日志功能从 chrome 获取浏览器日志 (console.logs),但我得到的只是函数日志不是函数。 var WebdriverIO = require('we
我使用的是 ubuntu 14.04。这是我的代码: var webdriverio = require('webdriverio'); var options = { desiredCapa
为了测试,我有这样的目录结构: 定制 库 测试 页面 在“custom”目录中编写的每个 JavaScript 函数都可以通过“浏览器”对象通过“test”目录进行访问。 这是通过 lib 目录中的“
我正在使用 WebdriverIO 构建一个 e2e 测试套件,但我一直致力于在页面对象之间创建继承。 在 Protractor 中,我们可以通过参数传递上下文,然后只搜索该上下文中的元素。例如, v
我正在尝试在我的应用程序中测试一个场景,其中我需要关闭浏览器和 session 并启动一个新的浏览器和 session 来测试当我传递一组将调用的启动参数时,之前输入的数据是否成功调用数据。尽管我在关
我正在尝试查找一个元素 let selector = "[class='count-stats']"; console.log(browser.element(selector)); 出现错误 { t
我正在从事 webdriverio 自动化项目。我有以下代码。 waitUntilVisible(element, maxTimeOut) { console.log("**********
我正在尝试使用 WebdriverIO 截取整个页面的屏幕截图。 我读过最好的方法是使用 WebdriverCSS增强我的 WebdriverIO 流。 WebdriverCSS自动截图整个页面??
我想覆盖 webdriverio 中的点击命令 在每次点击之前,我都会检查定位器是否存在。我想要这样的东西: browser.addCommand("click", function () {
我的应用程序中有一个类似于此的下拉列表 - Volvo Saab Mercedes Audi 我如何将汽车品牌选项收集到一个数组中?我知道 java selenium 绑定(bin
示例 HTML: asadka_TEST Peter Parker Clark Kent aldkfsd_TEST 类中的 Javascript 代码 class
所以我有一个 250 行的表,我只想从一列中获取所有值并检查它们是否满足要求的条件: const rows = browser.elements(selector..); const number
我正在使用 CucumberJS 为我当前的项目编写测试。该测试将使用 Selenium Server + WebDriverIO 进行测试。现在我坚持测试,我必须选择一个图像文件上传到服务器。我正在
Webdriverio 元素需要是字符串类型吗? 我的代码如下: describe('Test Contact Us form WebdriverUni', function() { it.onl
我对自动化测试非常陌生,目前我完全被以下问题所困扰: 我打开了一个网页(第一个窗口)在同一测试中,我调用 .newWindow(second window) 并在该窗口中执行一些操作。最后一个 Act
http://webdriver.io/guide/getstarted/modes.html 尝试使用 Chromedriver 调试 webdriverio 测试时,我绝对会发疯。您根本无法单步执
我最初的研究让我找到了 jQuery 选择器,它可以让我在 Chrome 检查器中返回正确的元素,但 Webdriver 不能或无法识别该选择器,即使 jQuery 可以识别。 这个片段就是我的选择元
我正在尝试使用 webdriverIO 单击网页中的链接。我可以导航到 google.com 页面,然后输入搜索词。 但是当我尝试单击包含所需文本的链接时,它不会单击该链接。 我做错了什么: 这是我的
我有一个测试,其中包含我想要在多个文件中重复使用的步骤。 我想我可以创建一个名为 common.js 的文件,列出其中的所有函数,然后在需要时调用。 这是推荐的方法吗? 我觉得唯一的问题是常用方法的文
我是一名优秀的程序员,十分优秀!