我试图将jQuery选择器与Nightwatch.js e2e测试结合使用,根据此答案:
我需要在我的应用程序的全局范围内使用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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句