我正在使用Protractor进行测试。我的测试代码中包含以下内容:
exam.name = element(by.id('name'));
exam.version = element(by.id('version'));
exam.controls = [
{ id: exam.name, name: 'Name', control: 'input box' },
{ id: exam.version, name: 'Version', control: 'input box' }
];
modal.controlIsPresent = function (data) {
for (var x = 0; x < data.length; x++) {
it('Find a\\an ' + data[x].name + ' ' + data[x].control, function () {
expect(data[x].id.isPresent());
});
}
}
modal.controlIsPresent(exam.controls);
但是,当我运行我的测试时,我收到错误&#34; TypeError:无法读取属性&#39; id&#39;未定义&#34;。这是名称和控制好。有人能指出我做错了吗?感谢。
我在运行测试时想要看到的内容如下:
Find a\an Name input box
Find a\an Version input box
答案 0 :(得分:0)
我认为.isPresent
应该用在一个元素上?
你能用:
modal.controlIsPresent = function (data) {
for (var x = 0; x < data.length; x++) {
it('Find a\\an ' + data[x].name + ' ' + data[x].control, function () {
expect(data[x].hasOwnProperty("id"));
});
}
}