我是角度/量角器世界的新手,所以这是一个非常基本的问题。根据这个spec,我们可以为下面的web元素编写量角器测试:
var foo = element(by.id('foo'));
expect(foo.getText()).toEqual('Inner text');
但是,foo.getText()返回一个promise类型,而不是一个字符串,怎么能“期望”将返回的promise对象与另一个字符串进行比较?有没有解释这种用法的文档?
答案 0 :(得分:4)
是的,expect()
,如果与Protractor
一起使用,就会理解承诺 - 它会在做出期望之前解决承诺使编写量角器测试变得更容易。这实际上是在Protractor
所依赖的单独项目中完成的 - jasminewd2
,其中patches jasmine's expect()
to resolve the promises和wraps jasmine's describe()
, it()
and other test control block functions将在控制流中执行。< / p>
请注意,它还支持both sides of the assertion上的承诺,您可以这样做,例如:
let elementText1 = $('.ng-scope p').getText();
let elementText2 = $('#transformedtext>h4').getText();
expect(elementText1).toEqual(elementText2);
就Protractor
文档而言,部分描述了here。