2

ASP.NET Web フォームと今後の MVC プロジェクトが混在しています。私は、信頼性が高く保守可能な Web GUI テスト ツール/フレームワークを求めています。現在、私たちはいくつかの Watin テストを行っていますが、Watin が 15 か月以上にわたって積極的に取り組んでいないことを見て、これ以上投資するのは少し気が進まないのでしょうか?

どのようなオプションがあり、使用するのに最適なものは何ですか。

Selenium - Visual Studio との限定的な統合は良いもののようです。

Watin - 時代遅れのようで、最新の JQuery Web サイトにうまく対応していないようです.

Telerik Test Studio - 非常に有望に見えますが、試した人はいますか? その価値はありますか?

ASP.NET と可能なビジュアル スタジオの統合のための他の実行可能なオプションはありますか?

このASP.NET Web アプリケーションの Web テスト フレームワークに関する既存の質問があることは知っていますが、実際には何も答えていません。

グリーン フィールド プロジェクトでは、自動化された機能の UI テストに人々が何を使用しているかを調べます。

4

5 に答える 5

3

使用している Visual Studio のバージョンは何ですか? それはあなたがCodedUIでテストスクリプトを書くことができることを意味するトップエンドのものの1つを持っているかもしれません. http://msdn.microsoft.com/en-us/magazine/hh875174.aspx

そうでない場合は、selenium に .net バインディングを使用することに投票します。これは、最も完全な機能を備えた Web 自動化ツールであり、最も簡単にヘルプを取得できる可能性があります。次の Web ページでは、selenium を Visual Studio で動作させる方法について説明していますhttp://www.joecolantonio.com/2012/07/31/getting-started-using-selenium-2-0-webdriver-for-ie-in -visual-studio-c/

于 2012-11-09T22:46:48.327 に答える
3

また、Web アプリのフロントエンドをテストする方法も研究しています。

現在、ヘッドレス ブラウザーである phantomJS を使用するいくつかのテストがあります。テストは JavaScript で記述されており、次のようになります。

(function () {

   // require is part of phantom API
   var userName,
       page = require('webpage').create();

    page.open("http://<url of page to test>", function (status) {

        if (status !== 'success') {
            phantom.exit(1);
        } else {
            // get the text of the DOM element that displays the user name
            userName = page.evaluate(function() {
                return document.getElementById('userName').innerText;
            });

            if (userName !=== 'Guest') {
                phantom.exit(1);
            }
            phantom.exit();  // Success!
        }
    });

})();

そして、これを Jenkins から次のようなコマンドで呼び出します ( assert_Username_EqualsGuest.jsには上記の JavaScript が含まれています)。

phantomJS.exe assert_Username_EqualsGuest.js 

PowerScript で記述された同様のテストもあり、System.Net.WebClient クラスを使用して Web サーバーから動的リソースをダウンロードし、返されたものをアサートし、サーバーのパフォーマンスを経時的に追跡するために応答時間を記録します。また、ジェンキンスによって解雇されました。

したがって、この回答は、現在行っていることをお知らせするためのものですが、より良い方法も調査しています. そして、私は他の人が何をしているかを聞くことに非常に興味があります。

于 2012-10-23T13:12:43.063 に答える
2

これはあなたの質問に直接答えるものではありませんが、Martin Fowler によるテスト ピラミッドの記事をチェックする必要があります。

テスト ピラミッドは、Mike Cohn によって開発された概念であり、彼の著書 Succeeding with Agile で説明されています。その本質的なポイントは、GUI を介して実行される高レベルのエンド ツー エンド テストよりも多くの低レベルの単体テストを用意する必要があるということです。

私が取り組んできたプロジェクトでは、さまざまなテスト ユーティリティ (NUnit、MBUnit、xUnit など) を使用した単体テスト、 FitNesseを使用したサービス (統合) テストを実装し、GUI テストを手動タスクとして残しました (ただし、必要に応じて、FitNesse はプレゼンテーション層にかなり近づくことができます)。これは私たちにとってうまくいきました。

于 2012-11-08T01:16:34.657 に答える
2

喜んで支払うなら、Telerik Test Studio は非常に優れた製品です。これは、さまざまなブラウザーで機能する優れたツールです。ページ内でポイントアンドクリックしてテストする要素を選択できる、非常に使いやすい記録機能があります。もう 1 つのツール (有料) はTest Completeで、これは非常によく似た働きをします。ドキュメントが非常に優れている両方の製品のビデオをチェックしてください。

これらのツールの利点は、手動でコーディングする必要がほとんどないことですが、UI が探していることを実行できない場合は、テストをコーディングすることもできます。

于 2012-10-23T13:20:54.550 に答える