检查按钮文本与 Nightwatch.js 中的特定字符串匹配

Checking button text matches a certain string in Nightwatch.js

我有一段时间试图编写一个测试来检查按钮上的文本是否与特定字符串匹配。我试过“.valueContains”、“.attributeContains”,结果为空或空,我试过 getText(),但这似乎只是 return 一个对象。

我觉得我明显遗漏了一些东西,所以我们将不胜感激!

如果不实际查看代码,很难预测发生了什么。然而,selenium return 中的所有方法都是一个承诺,因此您需要等待它解决。

function async getTextOfButton() {
  const element = await driver.findElement(By.className('item-class'));
  const text = await element.getText();
}

如果您不使用 async/await,您可以

driver.findElement(By.className('item-class')).then(function(element) {
  element.getText().then(function(text) {
      console.log(text);
  });
});

根据您目前在问题中所写的内容,我想知道您是否有不能使用 .containsText 的原因?

.waitForElementVisible('.yourclass', this.timeout)
.assert.containsText('.yourclass', 'Text of Button you expect to match')

http://nightwatchjs.org/api#assert-containsText