Protractor Get Model Value

Sumit picture Sumit · Mar 18, 2015 · Viewed 10.8k times · Source

I am new to ProtractorJS. What I am trying to do is trying to get the value of a disabled input element. This input element is bound to a model. Initially this input element is empty; then after some action the model value is updated (and thus displayed in input element). I need to get that value, how can I do that ?

My input element is:

<input class="form-control ng-pristine ng-valid" style="font-size: 11px;" disabled="disabled" type="text" ng-model="Promotion.PrometricID">

I am trying to fetch value by:

element(by.model("Promotion.PrometricID")).getAttribute('value');

But whenever I write the value in console it gives me "[object] [object]".

Can anyone please tell me how to find value in this text box or in model ?

Answer

alecxe picture alecxe · Mar 18, 2015

It is just because getAttribute() returns a promise.

You need to resolve it if you want to see the result on the console:

var elm = element(by.model("Promotion.PrometricID"));
elm.getAttribute('value').then(function (value) {
    console.log(value);
});

FYI, exploring The WebDriver Control Flow documentation page should clear things up.