javascript - Protractor error message returns a Object -


i expecting value_key (translation) found protractor , returns true, test succeeds.

in test-spec.js file

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')); }); 

protractor error message: expected 'value of key' equal object({ $$state: object({ status: 0 }), catch: object({ }), then: object({ }), finally: object({ }) }).

thank

it looks helpers.translate() function returns promise.

in protractor/jasmine, left part of assertion - expect() part capable of resolving promises implicitly. right part, toequal() in case, not.

resolve promise explicitly:

helpers.translate('value_key').then(function(value) {     var text = element(by.xpath('//*[@id="idname"]/div/h3')).gettext();     expect(text).toequal(value); }); 

you can use protractor.promise.all() resolve both promises , assert:

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]); }); 

not there issues using protractor.promise.all() in 4.0.0 (should fixed in next version(s)). workaround available here.


Comments