1

テスト中のアプリケーションの Visual Studio 2012 での記録があります。ケース(子レコード)で人を追加して記録します。ケース番号は自動生成されるため、このテストを実行するたびに異なります。

記録を再生すると、症例記録へのリンクをクリックしようとすると失敗します。これは、リンクが実行ごとに異なるためです。

これを指定するコードはデザイナーにあります (UIMap ファイルに「移動」した後でも)。さらに、とにかく数字がどうなるかを予測するために毎回変更することはできません。

特定のリンク テストと URL ではなく、リストの最初のリンク (グリッドビュー) に基づいて記録を選択するにはどうすればよいですか?

4

1 に答える 1

0

賢い同僚が私を助けてくれました。彼が見つけた解決策は次のとおりです。

replaced  Mouse.Click(uIHHP2013000005Hyperlink, new Point(49, 2));

UIMapデザイナでハードコードされた値で定義されていた場所。

と:

HtmlControl control = new HtmlControl(this.UIPersonsCCDWindowsIntWindow.UIDetailsCCDDocument);
        control.SearchProperties.Add(HtmlControl.PropertyNames.ClassName, "HtmlHyperlink");
        UITestControlCollection controlcollection = control.FindMatchingControls();
        List<string> names = new List<string>();
        foreach (UITestControl x in controlcollection)
        {
            if (x is HtmlHyperlink)
            {
                HtmlHyperlink programCaseLink = (HtmlHyperlink)x;
                if (programCaseLink.Href.StartsWith("http://mywebsite.com/ProgramCase/Details/"))
                {
                    Mouse.Click(programCaseLink);
                }
            }
        }
于 2013-01-29T23:44:56.547 に答える