var itemStatus = element(by.model('item.statusId')).getText();
这会导致量角器抛出:
未捕获异常:等待Protractor同步时出错 页面:"在窗口上找不到Angular"流程已退出 错误代码1。
有人可以解释原因吗?这不会抛出:
var itemStatus = element(by.model('item.statusId'))
它与promises有关,它可以执行.getText()
直到元素被定位?
我想我对这里的基础知识知之甚少。
更新
var itemStatus = element(by.model('item.statusId'))
// var itemStatus = element(by.model('item.statusId')).getText(); //was throwing with this
然后在下面使用,在代码被注释掉之前,我根本没有运行" .getText()"在期待中。
it('Should check item status, verify it is Checked Out.', function(){
expect(itemStatus.getText()).toBe('Checked Out');
//expect(itemStatus).toBe('Checked Out'); //this is how it was during error
});
和html:
<div class="form-control ng-binding ng-scope ng-isolate-scope ng-valid" ng-model="item.statusId" disabled="disabled">Checked In</div>
我想要注意的是,即使将所有expect语句注释掉,当我尝试使用var itemStatus的getText()时,脚本也会抛出错误。
抱歉,忘了配置:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['transfer_spec.js']
}
答案 0 :(得分:1)
我认为这与您定义col1 col2
a b 12 14 56
x b 23 234 2342 2
a d 23 45
变量的位置有关。如果&#39; s定义出的范围itemStatus
,你可能陷入量角器和角之间的同步问题 - 此刻describe/it
被调用,它&#39; S太早,{{ 1}}尚未收到Angular&#34;我准备好了#34;信号。您是否在getText()
内或页面对象内声明:
protractor
用法:
describe/it