問題タブ [protractor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 分度器で単一のアイテムを選択する方法
通常、分度器では、次の方法で特異要素を選択できます。
時折、次のようなものが得られます。
複数の要素を持つ可能性があります。複数の要素を検索し、キーを送信するための分度器のメソッドを含むロケーターからインデックスを選択する正しい方法は何ですか?
angularjs - 分度器を使用して要素にクラスがあるかどうかをテストするには?
分度器を e2e テスト Angular アプリにしようとしていますが、要素に特定のクラスがあるかどうかを検出する方法がわかりません。
私の場合、テストは送信ボタンをクリックして、フォーム[name="getoffer"]にクラス.ngDirtyがあるかどうかを知りたいです。解決策は何ですか?
internet-explorer - 複数のバージョンの IE で分度器 e2e テストを実行する
Internet Explorer の複数のバージョンで分度器 e2e テストを実行するためのベスト プラクティスはありますか?
angularjs - 分度器の入力でテキストを取得する方法
分度器のドキュメントでは、次の例を参照してください。
ここで明らかなのは、「by.model」を使用して入力ボックスに値を設定できることですが、入力ボックスを見てその内容を確認したい場合は、「by.binding」を使用する必要があります。
私は(要約すると)私が行う一連のコードを持っています:
(私の実際のコードでは、エンティティを保存してから編集モードでエンティティに戻り、値が実際に保存されたことを確認しています。しかし、結局は同じことになり、このサンプル コードでも同じ問題が発生します)。
これは私にエラーを与えます:
理論的には、ドキュメントの例に従って、代わりに次のことができます。
しかし、 by.binding は完全に修飾されたモデルを好まないようです。エラーが発生します:
私がそうすれば、それは(ファッションの後に)うまくいきます:
これは要素を見つけますが、「名前」に一致する要素が複数あるという警告も出します。残念ながら、それが選択するものは正しいものではありません。
だから、2つの質問:
- by.model は getText() を返せるようにする必要がありますか、それともそうしないという設計上の決定があり、代わりに by.binding を使用する必要がありますか?
- by.binding で完全修飾エンティティを使用できるようにする必要がありますか、それとも by.binding が完全なモデル名を好まないという設計上の決定がありますか? もしそうなら、異なるバインディングを選択するために他にどの修飾子を使用できますか?
編集:
vdrulerz によって提案された解決策も試しました。コードを次のように変更しました。
console.log は空白の値 (promise またはオブジェクトではない) を返し、expect は失敗して次のメッセージが表示されます。
私の理解では、分度器はすでに約束に対処するために期待にパッチを当てているため、根本的な問題は、モデルを介して識別されたフィールドで getText が機能しないことだと思います (ラベルやその他のウィジェットで getText を正常に取得できます)。
getText() ではなく getAttribute を使用して、次のコードを実行することもできます。
最初の部分は合格です - 期待どおりに動作します。2 番目の部分も機能し、vdrulerz の構文も有効であることを示しており、コンソールに「true」と記録されます。getText に欠陥がある可能性があると思いますか?
javascript - 分度器を取得して要素の isolateScope を評価する
失敗し始めたばかりの e2e テストがあります。次のようになります。
そこにを投げると、ptor.debugger()
開発ツールを使用してそれを確認できます。
でも:
おそらくこれはAngular の重大な変更によるものだと思いますが、その説明を完全に理解していると言ったら嘘になります。
angularjs - 分度器: iframe での Angular アプリのテスト
ここに興味深い設定があります。
iframe 内に別の Angular アプリをロードする Angular アプリがあります。分度器を使用して、iframe 内の Angular アプリをテストすることに興味があります。
分度器は最初のAngularアプリが読み込まれるのを待っていますが、iframeを切り替えると
分度器は、アサーションを行う前に iframe の Angular アプリを待っていないことがわかります。追加してみました
運がないiframeに切り替えた後。ここで何が起こっているのか、誰にも考えがありますか?
ありがとう!
それが役立つ場合は、Chrome の Saucelabs ssh トンネルを介してテストを実行しています。トンネリングが機能していることは、iframe アプリのリソースが要求されてダウンロードされていることがわかります。