检查客户端上的流星对象

由于 Nightwatch 可以访问浏览器控制台,因此可以使用 .execute() API 检查客户端对象。在以下示例中,我们检查特定会话变量的 Session 对象。首先,我们首先创建文件 ./tests/nightwatch/api/meteor/checkSession,我们将保留以下命令:

// syncrhonous version; only works for checking javascript objects on client
exports.command = function(sessionVarName, expectedValue) {
  var client = this;
  this
    .execute(function(data){
      return Session.get(data);
    }, [sessionVarName], function(result){
      client.assert.ok(result.value);
      if(expectedValue){
        client.assert.equal(result.value, expectedValue);
      }
    })
    return this;
};

然后我们可以像这样链接它:

module.exports = {
  "Check Client Session" : function (client) {
    client
      .url("http://localhost:3000")
      .checkSession("currentUser", "Jane Doe")
      .end();
  }
};