TestCafe - 断言不起作用(测试的对象必须是数组等)

TestCafe - assertions not working (object tested must be an array etc.)

我有一个非常简单的断言:

const mappingInput = 'input[data-test="appMS_mappingSite_inputField"]';
const mappingInputValue = "*";
.expect(mappingInput.value).contains(mappingInputValue, 'input contains *', { timeout: 500 })

但是当我 运行 测试时它失败了(尽管我知道 input.value 包含“*”这一事实。

报错信息如下:

AssertionError: input contains *: object tested must be an array, a
      map, an object, a set, a string, or a weakset, but undefined given

是我的脚本有问题还是什么?

问题是 mappingInput 常量是一个字符串。字符串类型没有 value 属性,因此表达式 mappingInput.value 将始终 return undefined。 如果您使用的是 TestCafe,则可以通过 Selector API. The following example might suit your needs: https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/using-selectors.html#define-assertion-actual-value

访问测试页上的输入值