【问题标题】:Protractor - assert the evaluate() value量角器 - 断言评估()值
【发布时间】:2016-03-14 12:41:08
【问题描述】:
我尝试使用“evaluate()”在量角器中评估角度变量并得到值。如何验证
element.evaluate('angularObj').then(function(angularObj) {
expect(angularObj.type).to.equal('myType');
});
但它说
TypeError: 'kitchen' 不是 thenable。
kitchen 是angularObj.type 中的值
如何在量角器中断言值?
【问题讨论】:
标签:
javascript
angularjs
selenium
cucumber
protractor
【解决方案1】:
.then() 是在量角器中的函数返回 Promise 时使用的链接功能。 .evaluate() 函数返回一个 ElementFinder 而不是一个值,因此它不能被链接。以下是如何使用它-
var ele = element.evaluate('angularObj')
expect(ele.type).to.equal('myType');
虽然我没有尝试过,但它应该可以工作。希望对您有所帮助。
【解决方案2】:
您最好尝试this alecxe 的答案以获得有关评估()值的更好解决方案。
elm.evaluate("<model of your element>").then(function (value) {
console.log(value);
});
或
var elm = element(by.model("<model of your element>"));
elm.evaluate("<model of your element> = 'test';");
希望这会有所帮助。 :)