3
私は角型のプロジェクトでは、形式が http://angular-formly.com/#/で、Protractorを使って終了時のテストを追加したいと考えています。角型の分度器の使用
フォームフィールドがテンプレートではなくコードに定義されているため、モデルが要素を選択できません。また、レンダリング時に異なるモデルが得られ、かなりクラスが追加されたくありません大きなフォーム。
Formlyでレンダリングされたフォームをテストしてテストする方法はありますか?
var formlyInputs = $$("input");
var desiredModel = "modelName";
var desiredInput = formlyInputs.filter(function (input) {
return input.evaluate("model[options.key]").then(function (model) {
return model === desiredModel;
});
}).first();
desiredInput.sendKeys("some text");
あなたはそれだけではなくinput
の要素をサポートするために拡張する必要があるかもしれませんが、他のフォーム要素フォームがあります
申し訳ありませんworky :)失敗しました::ロケータを使用していません要素:(のxpath、//ラベルにより、[normalize-
別の解決策は、入力の前のラベルに頼ることであろうスペース(。)= 'タイトル']/following-sibling :: input) 両方の方法を試しましたが、投射器がページの要素を見つけることができません。 – vodich
@vodichここに何を追加するかわかりません。ちょうど2つの一般的なアイデアを提供して、あなたの特定のユースケースでそれらを動作させるようにします。 「要素が見つかりません」というエラーが発生する理由は複数あります。作業する要素がiframe内にあるかどうかを確認してください。これがタイミングの問題であるかどうかを確認し、 'browser.wait()'を使用する必要があります。 – alecxe
右は、タイミングの問題である可能性があります、病気はtomorowを確認し、あなたに知らせてください。私は1秒間休止していますが、フォームiがかなり大きく、データがさまざまなサービスから来ているので十分ではないかもしれません。 – vodich