量角器" TypeError:无法读取undefined"的属性

时间:2014-07-10 08:29:56

标签: javascript protractor

我正在使用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

1 个答案:

答案 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"));
            });
    }
}