I have written my tests in Protractor and I've used an expect statement:
loginPage.email.sendKeys( params.login.email );
expect(loginPage.email.getText()).toEqual( params.login.email );
However, my test is failing because signUpPage.email.getText() is returning an empty string. I couldn't find what function to call in Selenium's documentation for input field to return the correct value?
In my Protractor.conf file:
params: {
login: {
email: 'user@email.com',
password: 'blahblah123'
}
Error in Terminal:
Expected '' to equal 'user@email.com'.
So I'm trying to match that the input of the email field is the same as the email address I've sent through. Any suggestions how to do that in Selenium?
If this is an input
field, you need to get the value of the value
attribute:
expect(loginPage.email.getAttribute("value")).toEqual(params.login.email);
Similarly, to apply Saifur's idea here, if you need to wait for the element to contain the desired value, use textToBePresentInElementValue
Expected Condition:
var EC = protractor.ExpectedConditions;
browser.wait(EC.textToBePresentInElementValue(loginPage.email, params.login.email), 5000);
Note that timeout value (in ms) has to be specified.