檢查客戶端上的流星物件

由於 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();
  }
};