2016-07-21 3 views
2

私は、分度器によってvalue_key(translation)が見つかったことを期待しているので、テストが成功するようにtrueを返します。私のテストspec.jsファイルで分度器のエラーメッセージでオブジェクトが返される

I

it('test if tile "Value of Key" shows result text', function() { 
    expect(
    element(by.xpath('//*[@id="idname"]/div/h3') 
    ).getText()).toEqual(helpers.translate('value_key')); 
}); 

分度器エラー メッセージ: 等しいオブジェクトへの 'キーの値'(期待{$$状態:オブジェクト({ステータス:0})、 catch:Object({})、次に:Object({})、最後に:Object({})})。

はあなたの助けそれは約束を返し あなたhelpers.translate()機能のように見えます

+0

helpers.translate( 'value_key')返すものは、そのコードを表示できますか? –

答えて

0

いただきありがとうございます。

分度器/ジャスミンでは、アサーションの左部分 - expect()部分のみが暗黙的に約束を解決することができます。あなたの場合は右部分、toEqual()はありません。

明示的に約束解決:

あなたはまた、両方の約束を解決してから主張する protractor.promise.all()を使用することができます
helpers.translate('value_key').then(function(value) { 
    var text = element(by.xpath('//*[@id="idname"]/div/h3')).getText(); 
    expect(text).toEqual(value); 
}); 

var promise1 = element(by.xpath('//*[@id="idname"]/div/h3')).getText(); 
var promise2 = helpers.translate('value_key'); 

protractor.promise.all([promise1, promise2]).then(function(values) { 
    expect(values[0]).toEqual(values[1]); 
}); 

ないissues with using protractor.promise.all() in 4.0.0が現在存在していることを(する必要がありますがfixed in the next version(s))。回避策はここにあります。

関連する問題