2017-10-11 7 views
1

Nightwatch.js e2eテストグローバルスコープでjQueryを使用する方法をテストしますか?私はこの答えによると、私のNightwatch.jsのE2Eテストで をjQueryのセレクタを使用しようとしています

How to write a nightwatch custom command using jquery

私はこれが機能するために私のアプリのグローバルスコープでのjQueryを利用可能にする必要があります。 (そう私はあなたがちょうどあなたのpackage.jsonに依存関係として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; 
+0

重複した質問の回答を参照してください。 https://stackoverflow.com/questions/21674080/how-to-use-npm-jquery-module – erwin

答えて

1

を得ましたすでにnightwatchのためにこれを行っているパッケージを追加するには、jqueryを、DEPとして、プロジェクトのルートディレクトリから次のコマンドを実行します。

npm install jquery --save-dev

その後、それはあなたが追加のラインを持っていることを確認することで働いていた検証のために追加されました〜package.json。何package.jsonがまだ存在しない場合は、プロジェクトで最上位フォルダに移動し、npm initを実行し、:

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

注:それは次のようになります。プロンプトを実行した後、上記のコマンドを使用して、jquerynightwatchの両方をdev-depsとして追加できます。

最後には、ちょうどjqueryとして$を割り当てるために、ファイルの先頭にconst $ = require('jquery')を追加し、カスタムコマンドまたはアサーションでjqueryを必要とします。

+0

ありがとうございます... – erwin

関連する問題