この章では、このテストフレームワークの起源と、これを選択する必要がある理由そして、このツールの制限。分度器とは何ですか?
分度器とは何ですか?
分度器は、AngularおよびAngularJSアプリケーションのためのオープンソースのエンドツーエンドのテストフレームワークです。 これは、WebDriverの上にGoogleによって構築されました。 また、”Angularjs E2Eテストフレームワーク”と呼ばれる既存のAngularJS E2Eテストフレームワークの代替としても機能します。また、NodeJS、Selenium、Jasmine、WebDriver、Cucumber、Mochaなどの強力な技術を組み合わせたソリューションインテグレータとしても機能します。 AngularJSアプリケーションのテストに加えて、通常のwebアプリケーションの自動回帰テストも記述します。 実際のブラウザを使用してテストを実行するため、実際のユーザーと同じようにアプリケーションをテストできます。
次の図は、分度器の簡単な概要を提供します−
上記の図では、我々が持っていることを観察−
-
分度器−前述したように、Jasmine-これは基本的にJavaScriptコードをテストするための動作駆動型開発フレームワークです。 Jasmineで簡単にテストを書くことができます。WebDriver JS-selenium2.0/WebDriverのノードJSバインディング実装です。
-
Selenium−それは単にブラウザを自動化します。先に述べたように、分度器は「Angular Scenario Runner」と呼ばれる既存のAngularJS E2Eテストフレームワークの代替品です。 基本的に、分度器の起源はシナリオランナーの終わりから始まります。 ここで発生する質問は、なぜ分度器を構築する必要があるのですか? これを理解するには、まずその前身であるScenario Runnerについて確認する必要があります。分度器の開発の主要な貢献者であるJulie Ralphは、Google内の他のプロジェクトのAngular Scenario Runnerで次の経験を持っていました。 これはさらに、特にギャップを埋めるために分度器を構築する動機になりました−
“私たちはScenario Runnerを使用してみましたが、テストする必要があるこ 私たちはログインのようなものをテストする必要がありました。 あなたのログインページは角度のあるページではなく、シナリオランナーはそれに対処できませんでした。 そして、それはポップアップや複数のウィンドウのようなものに対処することができませんでした,ブラウザの履歴をナビゲート,そのようなもの.分度器の最大の利点は、Seleniumプロジェクトの成熟度であり、Angularプロジェクトで簡単に使用できるようにメソッドをまとめています。 分度器の設計は、アプリケーションのweb UI、バックエンドサービス、永続化レイヤーなどのすべてのレイヤーをテストするように構築されています。なぜ分度器?
なぜ分度器?
ほとんどすべてのアプリケーションが開発にJavaScriptを使用していることがわかっています。 Javascriptのサイズが大きくなり、アプリケーション自体の数が増えてアプリケーションが複雑になると、テスターのタスクは困難になります。 ほとんどの場合、AngularJSアプリケーションでweb要素をキャプチャすることは非常に困難になり、JUnitまたはSelenium WebDriverを使用して、拡張HTML構文を使用してwebアプリケーシここでの質問は、Selenium Web DriverがAngularJS web要素を見つけることができない理由です。 その理由は、AngularJSアプリケーションにng-repeater、ng-controller、ng-modelなどの拡張HTML属性があるためです。 Seleniumロケータには含まれていません。ここでは、Seleniumの上部にある分度器がAngularJS webアプリケーションのこれらの拡張HTML要素を処理および制御できるため、分度器の重要性が存在します。 そのため、ほとんどのフレームワークはAngularJSアプリケーションの単体テストを行うことに焦点を当てていると言えるでしょう。
Protractorの動作
テストフレームワークであるProtractorは、Seleniumと連携して、ブラウザまたはモバイルデバイスで実行されているAngularJSアプリケーションとのユーザーの分度器の作業は、次の手順の助けを借りて理解することができます−
-
ステップ1−最初のステップでは、テストを書く必要があります。 それはジャスミンやモカやキュウリの助けを借りて行うことができます。ステップ2-今、我々は分度器の助けを借りて行うことができるテストを実行する必要があります。 テストランナーとも呼ばれます。ステップ3-このステップでは、Seleniumサーバーはブラウザの管理に役立ちます。ステップ4-最後に、ブラウザApiはSelenium WebDriverの助けを借りて呼び出されます。
利点
このオープンソースのエンドツーエンドのテストフレームワークは、次の利点を提供しています-
-
オープ/p>
-
Jasmine frameworkでテストを作成するのに適しています。
-
テスト駆動開発(TDD)をサポートします。
-
には自動待機が含まれているため、テストに待機とスリープを明示的に追加する必要はありません。
-
はSelenium WebDriverのすべての利点を提供します。
-
は、複数のブラウザを介した並列テストをサポートしています。
-
は、自動同期の利点を提供します。/p>
-
は優れたテスト速度を持っています。
制限事項
このオープンソースのエンドツーエンドのテストフレームワークは、次の制限を持っています-
-
WebDriver JSのラッパーであるため、ブラウ
-
JavaScriptの知識は、JavaScriptでのみ利用可能であるため、ユーザーにとって不可欠です。
-
はUI駆動型のテストツールであるため、フロントエンドテストのみを提供します。
広告 -