nightwatchJS 如何在 table 上使用 assert.containsText?

nightwatchJS how to use assert.containsText on a table?

我刚开始使用守夜人,我想确认 table 是否已正确填充。从终端我可以做类似的事情:

$("div#systemViewTable table tbody tr td.sortable").text()

然后我收到了一堆文字。但是,当我在守夜人中尝试使用相同的选择器时,我只得到一个空字符串。即>

browser.assert.containsText("div#systemViewTable table tbody tr td.sortable", "some text")

我怎样才能让它正常工作?

你基本上必须选择:

因为 containsText() 用于单个元素,所以您不能在引用多个 td 元素时使用它。您可以使用 tabletbody 或为 table 设置一个 class 名称(如果您有多个 table,则需要 class 名称s 在您的网站上,因为选择器必须是唯一的),但是如果它在您可能不想要的 td 元素之外,这也会匹配文本。

否则,您的选择是获取所有 td 元素,例如使用 Selenium elements and loop through each of these and compare them to the given string. See this answer 作为如何完成此操作的示例。