3
のために私は、モデルベースのフォームを使用しています。私のスペックで、次のような何かをするのような私が希望:分度器ロケータはformControlName
element(by.formControlName('username')).sendKeys('[email protected]');
これは明らかに動作しませんので、フォームコントロールによって探し出す方法があるか、私は私が入れて持っているという事実に辞任しています入力フィールドのクラスまたはID?あなたは、多くの場合、これを実行する必要がある場合、あなたは常に再利用可能なcustom locatorを定義することができ
element(by.css("input[formControlName=username]")).sendKeys('[email protected]');
注:
by.addLocator('formControlName', function(value, opt_parentElement, opt_rootSelector) {
var using = opt_parentElement || document;
return using.querySelectorAll('[formControlName="' + value +'"]');
});
by.css作品、ありがとうございました。アプリケーションでグローバルに使用したい場合、addLocatorはどこに置くのですか? –
@ MarkKenny偉大な、あなたはあなたの分度器の設定で 'onPrepare()'関数に 'by.addLocator'を置くべきです.. – alecxe
私に戻ってくれてありがとう。たぶん私は分度器にはあまりにも新しいですが、 'by.addLocator'コードスニペットをonPrepare関数にコピー&ペーストするだけで、すべてがハングしてしまいます。おそらくどこかで設定の問題。私がそれを見つけたら投稿する –