如何在Nightwatch中使用jquery

时间:2017-07-08 03:01:14

标签: jquery nightwatch.js

我有文字我需要在夜班表中执行htmlEndcoding。 我找到了一个解决方案,但它需要使用jquery。我无法弄清楚如何在Nightwatch中访问jquery。

我发现以下htmlEncode这看起来像我可以使用的东西,但我不知道如何将它包含在夜班中。我得到'$'未定义。我可以看到这是用于jquery但我不知道如何在夜间守望中使用jquery。

function htmlEncode(value){
// Create a in-memory div, set its inner text (which jQuery automatically encodes)
// Then grab the encoded contents back out. The div never exists on the page.
  return $('<div/>').text(value).html();
}

function htmlDecode(value){
  return $('<div/>').html(value).text();
}

我还找到了How to write a nightwatch custom command using jquery,但它附带了警告: “请注意,您确实需要在应用程序的全局范围内使用jQuery才能实现此目的。” ......我不知道该怎么做。

我是一名java程序员,我是守夜人和javascript的新手。好像我应该可以通过客户端或api进入jquery,但我无法弄清楚如何去做。

尝试了以下几个版本:

npm install jQuery

var $ = require('jquery');

var $ = require('jQuery');


var jsdom = require('jsdom').jsdom
 , myWindow = jsdom().createWindow()
 , $ = require('jQuery')
 , jq = require('jQuery').create()
 , jQuery = require('jQuery').create(myWindow)
 ;

1 个答案:

答案 0 :(得分:2)

如果您的网络应用中有一个Jquery,如:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/core.js"></script>

然后你可以这样做:

const jqueryCheck = function (browser){

    browser.execute(function (data, done) {

             return $("[href!=''][href]");
    }, [e], function(e){

            browser.verify.elementPresent(e[0],"Explanation...")

    })
}