0

Web アプリケーションをテストするための自動テスト アプリケーションを開発しています。ここでは、Web アプリケーション コードによって動的に作成されているコントロールを見つけることができません。それらの特性は変化し続けます。

例:一部のコントロールは、最初の実行では表示されませんが、次の実行では表示されます。Web アプリケーションは、Web ページ内のすべてのコントロールの情報を格納する XML ファイルも作成します。

4

2 に答える 2

1

私もずっと前に CodedUI の問題に直面し、コントロールのプロパティを編集して解決しました。私はあなたにお勧めします、

(1) 検索する動的コントロールのプロパティに移動し、

(2) propertyName、PropertyExpressionOperator、および PropertyValueが見つかります。

*(example : propertyName = id,
PropertyExpressionOperator = equals,
PropertyValue = button12)*

(3) ここで、 PropertyExpressionOperator (つまり equals ) を「contains」に変更し、PropertyValueで変化し続ける値を削除します(つまり、button12 -> button )

(4) プロパティは次のようになります

*(example : propertyName = id,
PropertyExpressionOperator = contains,
PropertyValue = button)*

(5) これで、それを見つけることができます。

それがあなたを助けると信じてください。

于 2014-07-30T09:44:08.440 に答える
1

トゥ・フイン。

これを行うことができるCUITe(コード化されたUIテスト拡張フレームワーク)を使用しました。

たとえば、変更セット 21564の Sample_CUITeTestProject\BrowserWindowTests.cs には、次のようなサンプル単体テストがあります。

[TestMethod]
[WorkItem(608)]
public void GenericGet_WithHtmlControls_GetsControlsDynamically()
{
    //Arrange
    CUITe_BrowserWindow bWin = CUITe_BrowserWindow.Launch("http://mail.google.com", "Gmail: Email from Google");

    //Act
    bWin.Get<CUITe_HtmlEdit>("Id=Email").SetText("xyz@gmail.com");
    bWin.Get<CUITe_HtmlPassword>("Id=Password").SetText("MyPa$$Word");
    bWin.Get<CUITe_HtmlInputButton>("Id=signIn").Click();
    bWin.Close();
}
于 2013-01-17T02:36:21.163 に答える