web-dev-qa-db-ja.com

Angularjsアプリはセレンで自動化できますか?はいの場合、なぜ分度器を使用する必要がありますか?

SeleniumでAngularJsアプリを自動化できることを知っています。ただし、AngularJsアプリ自動化用の分度器であるE2Eテストフレームワークが別途用意されています。

なぜ分度器を使用する必要があるのか​​を理解してくれる人はいますか?なぜセレンではないのですか?

18
Suresh Salloju

私はあなたの質問を理解できません。私はあなたがむしろSeleniumを使いたいと思うのは正しいのでしょうか?しかし、あなたが何が欠けているのかを理解したいですか?

さて、SeleniumはWebブラウザを自動化する手段を提供します。したがって、自動化されたe2eテストに使用されます。 Selenium APIには、いくつかの主要なプログラミング言語で実装されています-Java、C#、python、Ruby、JavaScriptなどでテストを記述できます。

すでにSeleniumベースのe2eテストフレームワークが用意されている場合は、AngularJS Webアプリにも使用できます。また、必要なJavaScriptスクリプトを作成して、一度Webドライバーを使用して実行すると、Protractorが行うすべてのことを実行できますが、自分で行う必要があります(Protractorのソースコードから借用するだけです)。

なぜそれは実行可能ですか? Protractorは基本的にSelenium WebdriverのJavaScript実装を使用し、Angular JS Webアプリをテストするときに生活を少し楽にする方法でラップしました。

私のこの古い投稿で具体的な説明を見ることができます: http://testautomation.applitools.com/post/94994807787/protractor-vs-Selenium-which-is-easier

1. JavaScriptでテストコードを記述したい場合2.主にAngular JSアプリに注目している場合

分度器の使用を検討することをお勧めします。繰り返しますが、魔法はありません。彼らがしたことはすべてソースコードにあるので、Seleniumに固執したいのであれば、あなたが選んだものだけを選ぶことができます。

19

protractor は、JavaScript Selenium Webドライバーである WebDriverJs を介して動作するエンドツーエンドのブラウザー自動化テストフレームワークです。

仕組み ドキュメントページからの引用:

Seleniumはブラウザー自動化フレームワークです。 Seleniumには、Selenium Server、WebDriver API、およびWebDriverブラウザードライバーが含まれています。

分度器はSeleniumと連動して、ブラウザまたはモバイルデバイスで実行されているAngularアプリケーションとのユーザーの対話をシミュレートできる自動テストインフラストラクチャを提供します。

Protractorは、Selenium WebDriver APIのJavaScriptバインディングであるWebDriverJSのラッパーです。

enter image description here

以下も参照してください。

7
alecxe

分度器を使用すると、Angular app。

また、Angular固有の機能があります。

  • その要素ファインダーは、Angularの$ digestループと$ httpが終了するのを待ちます。そのため、睡眠とタイミングの問題に苦労する機会が少なくなります。
  • Ng-model、ng-repeat、ng-bindなどの一般的なディレクティブを使用して要素を選択できます。これは、Angular apps CSSにのみ必要だからです。
2
Shuhei Kagawa