Webアプリケーションのe2e用の分度器テストがあります。多くの入力ボックスがあり、それらの大部分は、基礎となるAngular4コードのために生成されたng-reflect-name
属性を持っています。ここでは、HTMLスニペットの例を示しますng-reflect属性の2回目の実行で失敗した分度器のテスト
私の問題は、これでのロケータの使用に関するものです。私は、この特定の入力ボックスのためにこのコードを使用する場合 -
element(by.css('[formcontrolname='email']'))
と任意のsendKeys()
操作を実行し、それは完全に罰金を動作します。私はこのロケータを使用する場合
しかし、
element(by.css('[ng-reflect-name="email"]'))
私のテストでは、最初に成功したために実行されますが、エラーが出て、その後の実行のためにNoSuchElementException
を与えます。私はSOとAngularドキュメントを検索しましたが、なぜこれが起こるのか説明できないようです。以前誰かがこの問題に直面していたら、ここで何が起きているのか説明できますか?
うーんを。あなたが作ったデバッグポイントは私にとっては新しいものなので、心に留めておきます。明示的にwaitを使用して20秒ほど待っていて、失敗しても待機部分についてはわかりません。また、 'ng-reflect- * 'を使って私が使った他のロケータもこの問題はありません。 – demouser123
@ demouser123 hm、ありがとう、私の仮説が正しくない..それはとても美しかった:)しかし、あなたは本当に要素が実際にそこにいるのですか?あなたがあなたと思っているページにいるかどうか再確認してください。 – alecxe
うん。私はそれが欲しいと思うページにいると確信しています。 – demouser123