Nightwatchjs 获取多个输入的值

Nightwatchjs getvalue of several input

有什么方法可以使用 nightwatchjs 来获取多个输入的值吗?

我需要同时测试多个输入的值。

提前致谢。

您可以使用 getText 或 getValue 方法,例如:

this.demoTest = function (browser) {
  browser.getText("#main ul li a.first", function(result) {
    this.assert.equal(typeof result, "object");
    this.assert.equal(result.status, 0);
    this.assert.equal(result.value, "nightwatchjs.org");
  });
};

this.demoTest = function (browser) {
  browser.getValue("form.login input[type=text]", function(result) {
    this.assert.equal(typeof result, "object");
    this.assert.equal(result.status, 0);
    this.assert.equal(result.value, "enter username");
  });
};

有api个文件:getText API reference

是的,您可以获得多个输入值:

第一个选项是回调(不推荐):

var text, text2, text3; // ...
browser.getValue('#inputField1', function (result) {
  text = result.value;
  browser.getValue('#inputField2', function (result) {
    text2 = result.value;
    browser.getValue('#inputField3', function (result) {
      text3 = result.value;
      browser.getValue('#inputField4' + text3, function (result) {
        console.log(text, text2, text3) // your code 
      });
    });
  });
});

其次,您可以使用文档中的 perform() api(推荐):

var text, text2, text3;
browser
  .getValue('#input', function (result) {
    text = result.value;
    browser.getValue('#inputField2', function (result) {
      text2 = result.value;
    });
  })
  .perform(function () {
    browser.getValue('#inputField3', function (result) {
      console.log(text2, text 1) // they do exist here 
      text3 = result.value;
    });
  });

这是守夜人的文档Perform