【问题标题】:Testing promises in protractor在量角器中测试承诺
【发布时间】:2016-12-06 12:59:52
【问题描述】:

我是角度/量角器世界的新手,所以这是一个非常基本的问题。根据spec,我们可以为如下的 web 元素编写量角器测试:

var foo = element(by.id('foo'));
expect(foo.getText()).toEqual('Inner text');

然而,foo.getText() 返回的是一个 promise 类型,而不是一个字符串,'expect' 如何将返回的 promise 对象与另一个字符串进行比较呢?是否有任何文档解释了这种用法?

【问题讨论】:

    标签: javascript angularjs jasmine protractor


    【解决方案1】:

    是的,expect(),如果与 Protractor 一起使用,可以理解 Promise - 它会在产生期望之前解决一个 Promise 使得编写 Protractor 测试更容易。这实际上是在一个单独的项目中完成的,Protractor 依赖于 - jasminewd2,其中 patches jasmine's expect() to resolve the promiseswraps jasmine's describe(), it() and other test control block functions控制流中执行。

    注意,它还支持both sides of the assertion上的promise,你可以这样做,例如:

    let elementText1 = $('.ng-scope p').getText();
    let elementText2 = $('#transformedtext>h4').getText();
    
    expect(elementText1).toEqual(elementText2);
    

    Protractor 文档而言,这部分描述了here

    【讨论】:

    • 是的,它确实可以像那样解决问题。好答案,点赞
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多