量角器 - 断言evaluate()值

时间:2016-03-11 10:51:52

标签: javascript angularjs selenium cucumber protractor

我尝试使用" evaluate()"来量化量角器中的角度变量。并获得了价值。我如何验证

element.evaluate('angularObj').then(function(angularObj) {
    expect(angularObj.type).to.equal('myType');     
});

但它说

  

TypeError:' kitchen'不是那么好。

kitchenangularObj.type

中的值

如何在量角器中断言值?

2 个答案:

答案 0 :(得分:1)

.then()是在量角器中函数返回promise时使用的链接功能。 .evaluate()函数返回ElementFinder而不是值,因此无法链接。以下是如何使用它 -

var ele = element.evaluate('angularObj')
expect(ele.type).to.equal('myType');

虽然我没有试过这个,但它应该有效。希望它有所帮助。

答案 1 :(得分:0)

您最好尝试this alecxe的答案,以便更好地解决evaluate()值。

var rate: Float?
var pitchMultiplier: Float?
var volume: Float?

func speak(sender: AnyObject) {

    let speechUtterance = AVSpeechUtterance(string:exampleSpeech)

    if let rate = self.rate { 
        speechUtterance.rate = rate 
    }
    if let pitchMultiplier = self.pitchMultiplier { 
        speechUtterance.pitchMultiplier = pitchMultiplier 
    }
    if let volume = self.volume { 
        speechUtterance.volume = volume 
    }

    speechSynthesizer.speakUtterance(speechUtterance)
}

@IBAction func verySlow(sender: UIButton) {

    // ... whatever other code you need here ...

    self.rate = 0.25
    self.pitchMultiplier = 0.25
    self.volume = 0.75

}

elm.evaluate("<model of your element>").then(function (value) {
    console.log(value);
});

希望这会有所帮助。 :)