3

コード化された UI テストでテストしているプログラムで、ウィンドウが 1 秒ほどしか開かないので、このウィンドウが開いていることを確認したいと思います。

テストがそのウィンドウを見つけられるように、プログラムをフリーズする方法、または実行速度を遅くする方法はありますか?

4

5 に答える 5

3

CodedUi Testコメントで既に述べたように、この機能はアプリケーションに組み込まれているため、ウィンドウをキャッチするためにできることはあまりありません (おそらく何もありません) 。

私の提案は、このプロパティを構成可能にすることです。テスト対象のアプリケーションの一部のプロパティは、テストできるように構成可能にする必要があります。次の要件を考慮してください。

  • 毎月サービスを再開しています。
  • ユーザーは、非アクティブ状態が 1 年間続くと削除されます。

それらをどのようにテストしますか?1か月または1年待つつもりですか?この種のパラメーターは、Qa チームが使用できる必要があります。そうしないと、テストできません。このアプローチでは、アプリのコードとビルドを変更する必要があることはわかっていますが、それを解決する唯一の方法だと思います。

于 2012-06-22T07:40:46.717 に答える
1

Thread.Sleep(100); を追加するのはどうですか?

http://msdn.microsoft.com/en-us/library/d00bd51t

于 2012-06-20T20:02:57.643 に答える
0

Thread.Sleep(2000) の代わりに Playback.Wait(2000) を使用します。

于 2012-10-06T10:06:09.133 に答える
0

私の理解では、最善のアプローチは、タスクをできるだけ小さく分割することです。したがって、私が行った UI テストでは、ツールバーのショートカットを開き、その中のポップアップでログインをクリックし、アプリケーションのタブをクリックすると、コードは次のようになります。

namespace CodedUITestProject1
{
/// <summary>
/// Summary description for CodedUITest1
/// </summary>
[CodedUITest]
public class CodedUITest1
{
    public CodedUITest1()
    {
    }

    [TestMethod]
    public void CodedUITestMethod1()
    {
        // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.
        // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463
        this.UIMap.OpenWindow();
        this.UIMap.ClickLogin();
        this.UIMap.ClickDevelopment();
    }
//snip
}

したがって、ClickDevelopment() メソッドでは、プログラムが表示される必要があることがわかっているので、メソッド アクションに直接飛び込むのではなく、Thread.Sleep() をスローして、プログラムをもう少し長く表示することができます。

public void ClickDevelopment()
    {
        Thread.Sleep(10000);
        #region Variable Declarations
        WinClient uIDevelopmentClient = this.UIQualityTrack30Window.UIItemWindow.UIQualityTrack30Client.UIDevelopmentClient;
        #endregion

        // Click 'Development' client
        Mouse.Click(uIDevelopmentClient, new Point(39, 52));
    }
于 2012-06-20T21:15:24.223 に答える