Angularアプリの分度器でテストを書いています。ログインフォームに記入して送信したいです。
これどうやってするの?私はここまで持っていますが、電子メールとパスワードのフィールドの値を設定する方法がわかりません。
describe('The dashboard', function() {
ptor = protractor.getInstance();
beforeEach(function() {
ptor.get('#/dashboard');
var email = ptor.findElement(protractor.By.model('email'));
var password = ptor.findElement(protractor.By.model('password'));
var submit = ptor.findElement(protractor.By.tagName('button'));
// Fill out the form?
submit.click();
});
it('has a heading', function() {
heading = ptor.findElement(protractor.By.tagName('h1'));
expect(heading.getText()).toEqual('My Dashboard');
});
});
Googleでこれを見つけた人のために、答えは次のとおりです。
email.sendKeys('[email protected]');
password.sendKeys('mypassword');
使用できます
email.clear().sendKeys('[email protected]');
password.clear().sendKeys('mypassword');
入力が空またはクリアされていることを確認するには、clearメソッドを使用して、Promise。入力でsendKeysメソッドでプロミスを解決します。これは、入力にデフォルト値を事前に入力している場合に役立ちます。
非同期/待機:
async fillInEmail() {
await email.clear();
email.sendKeys('[email protected]');
}
async fillInPassword() {
await password.clear();
password.sendKeys('mypassword');
}
ES6:
email.clear().then(() => {
email.sendKeys('[email protected]');
});
password.clear().then(() => {
password.sendKeys('mypassword');
});
ES6より前:
email.clear().then(function() {
email.sendKeys('[email protected]');
});
password.clear().then(function() {
password.sendKeys('mypassword');
});