0

Web フォームのテストを自動化しようとしています。そのためには、C# を使用して HTML ページ内で入力タグを動的に見つけ、それらに値を割り当てる方法を知る必要があります。毎回異なる Web フォームを使用することになるため、XPath は使用したくありません。Web フォームの URL を Selenium に渡し、フィールドに自動的に入力したいと考えています。HTMLAgilityPack について聞いたことがあります。それは私を助けるでしょうか?もしそうなら、どうすればそれを使うことができますか?

私はあなたの助けに感謝します。

4

2 に答える 2

2

あなたの質問の重要な部分を見逃しているかもしれませんが、Selenium WebDriverを見ましたか?

一般的な Web フォームを処理するテストを作成する場合、動的なデータによってテストを裏付けることができます。したがって、データ ドリブン テストを使用して、ページの変更に対応できます。私は多くのページのテストを作成しましたが、常に共通のアクションがありますが、ページごとに異なるものがあるため、ページごとに異なる対応をしています!

[編集]
あなたのコメントに続いて、Selenium を調べるのは良い考えだと思います。異なるページを処理する方法は、各ページの「定義」クラスでこれらの要素定義を用意することです。そうすれば、ページが何であるかがわかれば、定義に正しいクラスを使用するだけです。テストを実行する前に、テストでどの要素と対話するかを知っておくことをお勧めします。自動化された UI テストのポイントは、既知の一連のアクションを実行し、正しい結果を達成することです。

このようないくつかのチュートリアルを参照することをお勧めします。私のブログを見ることができますが、 最初に WatiN を学習していたときにこれを書き、それを Selenium に置き換えました (私はそれの方が好きです:P)。

于 2013-01-17T03:39:10.340 に答える
0

HTMLアジリティパック

これは、読み取り/書き込み DOM を構築し、プレーンな XPATH または XSLT をサポートするアジャイル HTML パーサーです (実際には、使用するために XPATH や XSLT を理解する必要はありません。心配はいりません...)。これは、「Web 以外の」HTML ファイルを解析できる .NET コード ライブラリです。パーサーは、「実際の」不正な HTML に対して非常に寛容です。オブジェクト モデルは、System.Xml を提案するものと非常に似ていますが、HTML ドキュメント (またはストリーム) 用です。

HtmlDocument doc = new HtmlDocument();
doc.Load(path);

foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
    // Your Code...
于 2013-01-17T02:44:35.983 に答える