0

私の要件: テストが失敗した場合に、現在のページの URL をメソッドに渡してホーム ボタン リンクを取得するために、現在どのページにいるのかを知りたいです。例外が発生した場合は、最終的にホーム リンクに移動します。

それを達成する方法はありますか?

4

2 に答える 2

1

URL はブラウザのアドレス バーにあるはずです。そこから読み取ってください。

値を読み取る 1 つの方法は、アドレス バーの値に対するアサーションを記録し、記録されたアサーション メソッドで値にアクセスするコードの一部をコピーすることです。

もう 1 つの方法は、十字線ツールを使用してアドレス領域を選択し、(二重シェブロン アイコンをクリックして左側のペインを開き、) 選択した領域の UI コントロールを追加することです。次に、値にアクセスします。

于 2013-10-01T11:01:46.503 に答える
0

これにより、トップ ブラウザが返されます。

BrowserWindow bw = null;

        try
        {
            Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
            var browser = new BrowserWindow() /*{ TechnologyName = "MSAA" }*/;

            PropertyExpressionCollection f = new PropertyExpressionCollection();
            f.Add("TechnologyName", "MSAA");
            f.Add("ClassName", "IEFrame");
            f.Add("ControlType", "Window");
            browser.SearchProperties.AddRange(f);

            UITestControlCollection coll = browser.FindMatchingControls();

            // get top of browser stack
            foreach (BrowserWindow win in coll)
            {
                bw = win;
                break;
            }

            String url = bw.Uri.ToString(); //this is the value you want to save


        }
        catch (Exception e)
        {
            throw new Exception("Exception getting active (top) browser:   - ------" + e.Message);

        }
        finally
        {
            Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
        }
于 2013-10-01T13:39:50.653 に答える