I am writing tests in Protractor for an Angular app. I want to fill out a login form and submit it.
How can I do this? I have got this far, but I don\'t know how to
Just for the benefit of anyone who found this via Google, the answer is:
email.sendKeys('myemail@myemail.com');
password.sendKeys('mypassword');
As per above answers , you can use sendkeys in most cases . If didn't work only you can inject the text to the element using a java script .
var locatorid='datepicker1';
var val= '12/31/2019';
//without parameterized
browser.executeScript("document.getElementById('datepicker1').value= '10/21/2019'");
//After parameterized
browser.executeScript("document.getElementById('"+locatorid+"').value= '"+val+"'");
browser.sleep(3000);
How about xpath?
I create a button like bellow:
<ion-input [(ngModel)]="model.password" name="password" type="text" #passcode="ngModel" required>
</ion-input>
And set the value using
element(by.xpath('//*[@name="password"]/input')).sendKeys('PASSWORD')
In addition to shruti and Richard,
To ensure the input is empty or cleared, use the clear method which returns a Promise. Resolve the promise with sendKeys method on your input. This is helpful if you have pre-populated your input with default values.
Async/Await:
async fillInEmail() {
await email.clear();
email.sendKeys('myemail@myemail.com');
}
async fillInPassword() {
await password.clear();
password.sendKeys('mypassword');
}
ES6:
email.clear().then(() => {
email.sendKeys('myemail@myemail.com');
});
password.clear().then(() => {
password.sendKeys('mypassword');
});
Before ES6:
email.clear().then(function() {
email.sendKeys('myemail@myemail.com');
});
password.clear().then(function() {
password.sendKeys('mypassword');
});
you can use
email.clear().sendKeys('myemail@myemail.com');
password.clear().sendKeys('mypassword');
var searchComment = element(by.name("customTextField"));
searchComment.sendKeys("france").then(function() {
next()
});