web-dev-qa-db-ja.com

AngularJSテスト用のRobotFrameworkと分度器

AngularJSベースのWebポータルをテストするためのツールを完成させようとしています。

私はProtractorを調査し、チームの誰かがRobot Frameworkの使用を提案するまで、AngularJSテストにProtractorを使用することを確信していました。

そこで、分度器とRobotFrameworkを比較する必要があります。

分度器には、AngularJSでカスタマイズを利用できるという利点があります。ただし、使用されている用語と概念(約束と制御フロー)のために、学習曲線はあまり滑らかではないことに同意します。

ここで、AngularJSテスト用のRobotFrameworkがどれほど優れているかを理解する必要があります。 Robot Frameworkに切り替えた場合、分度器に関して見逃してしまうことはありますか?同じためにあなたの貴重な入力を提供してください。

  1. 学習曲線
  2. 利用可能なIDE
  3. AngularJSUIテストの自動化のしやすさ
  4. あなたが重要だと感じる他の関連するポイント!
15
Sakshi Singla

今まさにそのような議論の真っ只中にいるので、私はあなたにいくつかのことを言うことができます:

  1. AngularJSには「読み込み」の問題があります。分度器は、関数WaitForAngularToFinishを提供することにより、この問題を解決します。 ByRepeatNGなどの他のものも分度器から取得します

  2. RobotFrameworkによるUIの自動化はSelenium2を使用して行われ、ロボットライブラリにはAngular特定のコード(WaitForAngularToFinish)が含まれていません


今のところ、RobotFrameworkの方法を試しています

Java Library ngWebDriverを利用することで、Robotの問題を解決しました。

分度器と同じ機能を提供する自動配線(ロボットライブラリからSelenium2ドライバーを取得するため)を備えたngWebDriverに基づいて新しいロボットライブラリを作成しました。

ロボットの道を行くことの長所:

  1. Robot Framworkを使用すると、UIだけでなく、すべてを実行できます。したがって、テスト環境を希望どおりに準備できます(分度器で行うのははるかに困難です)

  2. 英語。非コーダーにテストを書かせるための機能(私たちはGherkin表記を使用しています)。

  3. 安定性(たとえば、NPMに関するすべては本質的に不安定です)

ロボットの道を行くことの短所:

  1. Javascriptの人々がテストの基礎となるコードを書くのは難しい(基礎となるコードの一部はJavaであるため)

  2. シンプルさ

あなたに関する他の質問:

  1. 学習曲線-ロボットと分度器の両方で簡単
  2. 利用可能なIDE-IntelliJfor RobotFrameworkのプラグインを使用しています。 IntelliJのエンタープライズバージョン(多額の費用がかかります)は、IDEとしてのProtractorで非常にうまく機能します。
  3. AngularJSUIテストの自動化のしやすさ-RobotにAngularキーワードがあれば、問題ありません。その前は、非常に困難です。
8
Uri Shtand

Robot Frameworkは非常に軽量であり、使用したさまざまな場所で見たものから学習曲線が非常に高速です。 IDEに関しては、それらのほとんどにプラグインがあります(すでにお気に入りのIDEがある場合は、 [〜#〜] ride [〜#〜] の使用はお勧めしません)。

質問3)と4)に答えるには、それはすべてあなたの組織と文化に依存すると思います。エンドツーエンドテストがWebアプリAngular開発者によって作成される場合、これはすべてJavaScriptエコシステムにあるため、おそらく分度器を使用する方がよいでしょう。ただし、別のテストがある場合テストを担当するQAのチームは、分度器/ JavaScriptの一部が、自分たちがしなければならないことに対して複雑で重いと感じるかもしれません。開発者よりもハードコアコーダーが少し少ないQAを使用すると、 Pythonの方が適切で簡単です。その場合、RobotFrameworkが非常に適しています。

6