代码之家  ›  专栏  ›  技术社区  ›  user762579

守夜。js e2e测试如何在全局范围内设置可用的jQuery?

  •  3
  • user762579  · 技术社区  · 8 年前

    我试图在我的手表上使用jQuery选择器。js e2e测试 根据这个答案:

    How to write a nightwatch custom command using jquery

    我需要有jQuery在我的应用程序的全球范围内可用的工作。(否则,我在$(选择器)引用中遇到了麻烦。。。

    '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;
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   enphnt    8 年前

    您只需要将jquery包作为依赖项添加到 package.json 然后你必须要求 jquery 在文件中。通常,您已经为 nightwatch . 要添加包, ,作为dep,从项目的根目录运行以下命令:

    npm install jquery --save-dev

    然后通过检查是否为添加了额外的行来验证它是否有效 jquery . 它将如下所示:

    "devDependencies": { "jquery": "^3.2.0",

    注: 如果没有 仍然存在,请转到项目中的顶级文件夹并运行 npm init . 完成提示后,您可以同时添加这两个选项 jquery 夜间值班 使用上述命令作为dev deps。

    最后,要求 jquery 在自定义命令或断言中,只需添加 const $ = require('jquery') 到要分配的文件的顶部 $ jquery