2016-06-29 6 views
0

私は分度器を使って非角張ったアプリのためのe2eテストを書いていますが、これを達成する方法に関するかなりの情報がありますが、私はいくつかの基本的な質問があります。分度器とwebdriverの基礎を持つノンアングルアプリをテストする

  1. その分度器は、その他ページ上読み込みが完了する角度の他の回答を期待していないので、一部の人々はちょうど呼び出しをwebdriverを使用するように言う例えば「browser.driver.getを()」非角度サイトをテストbrowser.ignoreSynchronization = trueに設定して、問題なくブラウザの.get()を呼び出すことができます(これは、理想的なソリューションのようです)ので、角度と角度以外の値を扱う場合はapi呼び出しに頼ることができます。これらの2つの方法は同じですか、違いがない場合は違いを説明してください。

  2. webdriverやbrowser.ignoreSynchronization = trueを扱うときに分度器は約束を尊重しますか?例えば、私が 'get'コールを行うと、分裂器は 'get'要求が満たされるまで次のステップを実行する前に待機するでしょうか?

  3. #2に関連して、ユーザーインタラクションが確実に実行されるように、Webdriver/non-angularアプリを扱う際に、プロミスチェーニングを使用する必要がありますか?たとえば、sendKeys()を使用して名前を入力し、()をクリックして情報を送信すると、sendKeys()の中にclick()をネストする必要がありますか?

  4. webdriverはget要求後に準備が整っています(すべての解決策にはタイムアウトを使用するか、要素が最初に存在するかどうかを確認することが含まれます)。そのページに埋め込まれたアプリ(たとえばGoogleマップなど)があり、e2eテストで「大きな地図を表示」をクリックしたユーザーをシミュレートしたい場合はどうすればよいですか?

答えて

0
  1. いいえ、彼らは同じではありません。 browser.get()は、browser.driver.get()の上にあるラッパーです。ページ読み込み時にアンギュラライブラリーが見つからない場合は、エラーをスローします。だから、角度のないアプリについてはbrowser.driver.get()を使用してください。

  2. いいえ、約束を守っておらず、待たないでください。

  3. いいえ、webdriverは約束ライブラリとコントロールフローを使用してそれを管理します。

+0

実際にbrowser.ign()はbrowser.ignoreSynchronization = trueの場合はうまく動作しますが、このメソッドはwebdriver呼び出しをラップすることを理解していますが、他に違いがあるのでしょうか? – user2714417

関連する問題