Nightwatch.js e2e 测试如何设置 jQuery 在全局范围内可用?
Nightwatch.js e2e test how to set jQuery available at the global scope?
我正尝试在我的 Nightwatch.js e2e 测试中使用 jQuery 选择器
根据这个答案:
How to write a nightwatch custom command using jquery
我需要在我的应用程序的全球范围内提供 jQuery 才能正常工作。 (否则我会遇到 $(selector) refs 的麻烦...
'use strict';
var ClickElementByIndex = function(className, index) {
if (!index) {
index = 0;
}
this.execute(function(selector, i) {
var $item = $(selector + ':eq(' + i + ')');
if (!!$item) {
$item.click();
return true;
}
return false;
}, [className, index], function(result) {
console.info(result);
});
};
exports.command = ClickElementByIndex;
您只需将 jquery 包添加为 package.json
的依赖项,然后您必须在文件中要求 jquery
。通常,您已经为 nightwatch
完成了此操作。要将包 jquery
添加为 dep,运行 从项目的根目录执行此命令:
npm install jquery --save-dev
然后通过检查您是否为 jquery
到 package.json
添加了额外的行来验证它是否有效。它看起来像这样:
"devDependencies": {
"jquery": "^3.2.0",
注意:如果package.json
还不存在,转到项目中的顶层文件夹和运行npm init
。完成提示后,您可以使用上述命令将 jquery
和 nightwatch
添加为 dev-deps。
最后,要在您的自定义命令或断言中要求 jquery
,只需将 const $ = require('jquery')
添加到文件顶部以将 $
分配为 jquery
。
我正尝试在我的 Nightwatch.js e2e 测试中使用 jQuery 选择器 根据这个答案:
How to write a nightwatch custom command using jquery
我需要在我的应用程序的全球范围内提供 jQuery 才能正常工作。 (否则我会遇到 $(selector) refs 的麻烦...
'use strict';
var ClickElementByIndex = function(className, index) {
if (!index) {
index = 0;
}
this.execute(function(selector, i) {
var $item = $(selector + ':eq(' + i + ')');
if (!!$item) {
$item.click();
return true;
}
return false;
}, [className, index], function(result) {
console.info(result);
});
};
exports.command = ClickElementByIndex;
您只需将 jquery 包添加为 package.json
的依赖项,然后您必须在文件中要求 jquery
。通常,您已经为 nightwatch
完成了此操作。要将包 jquery
添加为 dep,运行 从项目的根目录执行此命令:
npm install jquery --save-dev
然后通过检查您是否为 jquery
到 package.json
添加了额外的行来验证它是否有效。它看起来像这样:
"devDependencies": {
"jquery": "^3.2.0",
注意:如果package.json
还不存在,转到项目中的顶层文件夹和运行npm init
。完成提示后,您可以使用上述命令将 jquery
和 nightwatch
添加为 dev-deps。
最后,要在您的自定义命令或断言中要求 jquery
,只需将 const $ = require('jquery')
添加到文件顶部以将 $
分配为 jquery
。