2017-10-11 94 views
1

我試圖使用jQuery選擇與我Nightwatch.js端對端測試 根據這樣的回答:Nightwatch.js e2e測試如何在全局範圍內設置jQuery?

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; 
+0

重複的問題請參閱答案。在https://stackoverflow.com/questions/21674080/how-to-use-npm-jquery-module – erwin

回答

1

你只需要jQuery的包作爲依賴添加到您的package.json,然後必須在文件中要求jquery。通常情況下,你會已經爲nightwatch做到了這一點要添加的軟件包,jquery,作爲一個出發,從項目的根目錄運行此命令:

npm install jquery --save-dev

然後驗證它的工作通過檢查你有一個額外的行添加爲jquerypackage.json。它看起來是這樣的:

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

注:如果沒有package.json還不存在,轉到該項目的頂級文件夾,然後運行npm init。在完成提示後,可以使用上述命令將jquerynightwatch作爲開發人員添加。

最後,需要jquery在您的自定義命令或斷言,只需添加const $ = require('jquery')到文件的頂部分配$jquery

+0

非常感謝... – erwin

相關問題