優れた自動化されたWebUIテストツールは何ですか?
.Netの世界で使用できるようにしたいのですが、.netで記述する必要はありません。
レコードモード、ビルドプロセスへの統合、継続的インテグレーションなどの機能があれば便利です。
私は見るつもりです:
他に見るべきものはありますか?
私は間違いなくSeleniumをお勧めします。NETから使用でき、さまざまなブラウザーをサポートし、自動ビルドとCIプロセスで機能します(CCNetから使用します)。コードは安定しています。それにはいくつかの癖がありますが、結局のところそれらはすべてあります。
どちらのツールを選択する場合でも、その周りに独自のテストファサードクラスを作成することをお勧めします。ファサードは、テストツールのAPIの詳細をあまり公開せずに、具体的なテストのニーズに合うように設計する必要があります。これにより、テストコードの記述と保守が容易になります。
更新:アプリでASP.NETビューステートを使用する場合、純粋なHTTPテストツールの使用で問題が発生する可能性があります。これは、ブラウザーコントローラー(Seleniumなど)がはるかに優れているところです。
WatiN
FFとIEを自動化します
[Test]
public void SearchForWatiNOnGoogle()
{
using (IE ie = new IE("http://www.google.com"))
{
ie.TextField(Find.ByName("q")).TypeText("WatiN");
ie.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(ie.ContainsText("WatiN"));
}
}
Watinは、深刻なプロジェクトで使用するにはかなり不安定です。 「EIがビジーです」や「COMオブジェクトのエラー」などの予期しない理由で失敗することがよくあります。セレンははるかに安定しており、すでに多くのサポートツールがあります。たとえば、Selenium GRIDは、テストの実行時間を大幅に短縮できるソリューションです。 (Watinでのスモークテストの実行には6時間かかります)。
VSTTを試すこともできます- http://blogs.msdn.com/b/slumley/archive/2009/05/28/vsts-2010-feature-enhancements-for-web-test-playback-ui。 aspx
Telerikテストツール- http://www.telerik.com/automated-testing-tools.aspx
Visual Studio UIテストの拡張性–シナリオと基本原則 http://blogs.msdn.com/b/mathew_aniyan/archive/2011/03/28/visual-studio-ui-test-extensibility-scenarios-amp -ガイド-principles.aspx
VSTSWebテストのステップバイステップ入門書- http://blogs.msdn.com/b/jimmymay/archive/2009/02/23/vsts-web-test-step-by-step-primer- 7-minute-video-by-Microsoft-ace-performance-engineer-chris-lundquist-with-copious-notes-screen-shots-from-your-humble-correspondent.aspx
aSP.NETチームが自分で作成したものを確認することにも興味があるかもしれません: 軽量テスト自動化フレームワーク 。
専用の フォーラム もあります。
現在私の仕事では [〜#〜] qtp [〜#〜] を使用していますが、これまでのところ、UIでスローしたものはほとんどすべて処理でき、テスト用の特別なモードがあります。非GUIサービスにより、両方をチェックし、システムを変更したときに問題が発生する場所を絞り込むことができます。私の意見では、それは非常に構成可能であり、その言語としてvbscriptを含めることで、Windows上の多くのことと統合して、ほとんど何でもできるようになります。たとえば、これを使用してExcel comオブジェクトを制御し、成功と失敗のカスタムExcelレポートを作成します。これにより、テストを手動で実行した場合でも、別のプロジェクトでadodbオブジェクトを使用してページを確認した場合でも、結果の形式は同じになります。データベースにそのレコードの正しいデータが含まれているという情報をデータベースに送信します。
ビルドプロセスへの統合に関しては、私はこれを自分で試していませんが、vbsファイルからqtpとテストを起動することは可能です。したがって、msツールではvbsファイルを非常に簡単に実行できるため、これはかなり簡単なはずです。ほとんどのツール。
誰かにライセンスを買ってもらえると思っている人にはお勧めです!
いくつかの異なる自動テストソリューション(TestComplete、QTPなど)を使用したので、Telerik + VisualStudioに投票する必要があります。 Telerikには優れたサポートフォーラムがあり、思いついたテストフレームワークと非常に互換性があります。私たちの開発者はHTMLコードに一意のIDを入れているので、かなり大幅なUIリファクタリングを行ってもスクリプトを書き直す必要はありません。記録と再生よりも間違いなく難しいですが、一意のIDを設定すると、自動化コードのメンテナンスはほとんどまたはまったく必要ありません。
別のオプション(私は試していませんが、Telerikが好きです)を捨てるだけで、Telerikの新しい WebUI Testing Studio です。また、セレンの賛成票をエコーします。
試してください httpunit
あなたが達成したいことに依存します。
Visual Studio TesterEditionに組み込まれているWebテストを使用できます。自動化は非常に優れており、簡単です。外部データをテストデータソースとして使用でき、VSとうまく統合されます。
Automated QA(名前を忘れた)によるテストツールもありますが、見た目は良いですが高価です。
そして、セレンがあります。これは、Symantecで使用しているものです。最大の利点は、実際にテストしたいブラウザを使用することです。 VSは、httpリクエストパラメータのみを変更することでブラウザを模倣するため、ブラウザ間の互換性についてサイトをテストできない場合があります。一方、Seleniumはブラウザを使用して自動化するため、IEやFirefoxなどで実際にサイトをテストできます。VSユニットテストと統合して、VSでテスト結果を確認することもできます。
したがって、SeleniumまたはVSをお勧めします。
私はセレンを使用しました。機能は良く、使えましたがバギーでした。
IDEはイベントを誤って記録することが多く(したがって、テストを手動で変更する必要があります)、明らかな理由もなくテストファイルが完全に使用できなくなることがありました。つまり、テストファイルを最初からやり直す必要がありました。 。また、Selenium IDEは停止しているようです。しばらくの間、バグ修正やパッチは行われておらず、バグレポートは見過ごされているようです。
モリブデンは、調査する価値のあるSelenium上に構築された代替手段です。
QEngine を試してください。 QTPのすべての機能を備えています。
素敵なツールを1つ忘れて、リンクを見つけることができますが、これを見つけます... http://weblogs.asp.net/bsimser/archive/2008/02/21/automated-ui-testing-with-project -white.aspx 多分助けることができます。
記録と再生、マルチスレッド再生、ビルドプロセスとの統合、強力なスクリプト、優れたレポート、優れたサポートを備えたシンプルなクロスブラウザーツールをお探しの場合は、 Sahi をご覧ください。テスター/開発者が学習して維持するのがはるかに簡単になります。
Webアプリケーションのクロスプラットフォームクロスブラウザテストについては、 RIATest を参照することをお勧めします。
WindowsとMacで動作し、サポートされているブラウザはFirefox、IE、Chromeです。1つのプラットフォーム/ブラウザで記述された自動テストスクリプトは、サポートされている他のすべてのプラットフォーム/ブラウザに対して実行できます。
ユーザーインタラクションの記録モードとCIサーバーとの統合(HudsonなどのCIサーバーで使用できるJUnit形式で結果を出力します)など、必要な機能があります。
(免責事項:私はRIATestチームのメンバーです)。
WebDriverは別の可能性です: http://code.google.com/p/webdriver
彼らはあなたにとって興味深いかもしれない.NETラッパーに取り組んでいます。
seleniumの近くでもRationalFunctional Testerを考慮に入れることをお勧めします! .NetまたはJavaでのコーディングに精通していて、レコードとリプレイを試してみたい場合でも、より高度なプログラムによるテストを作成したい場合でも、お勧めします。