【问题标题】:Protractor Throws Error on Assigning Variable量角器在分配变量时抛出错误
【发布时间】:2015-08-08 22:59:29
【问题描述】:
var itemStatus =  element(by.model('item.statusId')).getText();

这会导致量角器抛出:

未捕获的异常:等待 Protractor 同步时出错 页面:“在窗口上找不到 Angular”进程退出 错误代码为 1。

有人能解释为什么吗?这不会抛出:

var itemStatus = element(by.model('item.statusId'))

是不是和promise有关,直到找到元素才能执行.getText()?

我想我对这里的基础知识了解不足。

更新:

var itemStatus = element(by.model('item.statusId'))
// var itemStatus =  element(by.model('item.statusId')).getText(); //was throwing with this

然后在下面使用,在代码被注释掉之前,我根本没有运行expect中的“.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>

我想指出,即使所有的期望语句都被注释掉了,当我尝试 getText() 获取 var itemStatus 时,脚本也会抛出错误。

抱歉,忘记配置了:

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['transfer_spec.js']  
}

【问题讨论】:

  • Angular could not be found on the window 通常表示量角器无法与角度应用程序同步。你在哪里定义了ng-app?你是手动引导角度吗?
  • 嘿亚历克,对不起,我发布了这个问题后不得不离开。除了删除 .getText() 之外,应用程序中没有任何变化——这就是它抛出或不抛出错误的原因。我想知道尝试获取元素的属性是否有问题,但我想不是。也许只是一个错误?
  • 您确定应用程序本身没有任何变化吗?您是否升级了量角器或更改了量角器配置?
  • 是的,我可以通过删除/添加 .getText() 从字面上使它抛出/不抛出 - 我测试了大约五次(刚才又一次)。澄清一下-这甚至不是问题,我在发帖之前就解决了这个问题。我只是想看看它是否是已知的。

标签: javascript angularjs selenium selenium-webdriver protractor


【解决方案1】:

我认为这与您在哪里定义 itemStatus 变量有关。如果它的定义超出了describe/it 的范围,你可能会陷入量角器和角度之间的同步问题——在调用getText() 的那一刻,还为时过早,protractor 还没有收到 Angular “我准备好了“ 信号。您是否在 describe/it 或页面对象内声明:

var MyPage = function () {
    this.status = element(by.model('item.statusId'));
};
module.exports = new MyPage();

用法:

var myPage = require("MyPage.js")

describe("My test", function () {
    it("Should check item status, verify it is Checked Out.", function () {
         expect(myPage.status.getText()).toEqual("Checked Out");
    });
});

【讨论】:

  • 像往常一样非常感谢。
猜你喜欢
  • 1970-01-01
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-09
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多