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
Post a Comment