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
访问测试页上的输入值
我有一个非常简单的断言:
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