为以下内容编写 E2E 测试时角度场景运行器我遇到了一个query()
method:
element(selector, label).query(fn)
The 文档 http://docs.angularjs.org/guide/dev_guide.e2e-testing says:
执行函数 fn(selectedElements, done),其中 selectedElements 是与给定 jQuery 选择器匹配的元素,done 是在 fn 函数末尾调用的函数。该标签用于测试输出。
所以我为 html 页面上的一组按钮编写了一个 it-case:
it('should display all buttons on page load', function () {
var buttonText = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
element('button', 'UI elements').query(function (selectedElements, done) {
selectedElements.each(function (idx, elm) {
expect(elm.innerText in buttonText).toEqual(true);
});
done();
});
});
作为测试执行的结果,我收到了 10 个失败的期望子句的列表,其中包含文本:
预期为 true 但未定义
中间调试表明elm.innerText in buttonText
条件为真。
所以我的问题是,出了什么问题?是否是错误的使用done()
method?