2

これは私が抱えている少しトリッキーな問題のようです。しかし、CodedUI テストの目的でブラウザー ウィンドウとブラウザー タブを区別する方法を知っていますか。これをどのように実装しますか?

4

1 に答える 1

0

私の理解が正しければ、あなたの目標は、ロード/起動したページがタブ化されているか、新しいブラウザ ウィンドウで起動されているかを識別することです。タブ付きのブラウザー ウィンドウは、スタンドアロンのブラウザー ウィンドウと見分けがつかないことに同意しています。私はあなたのための解決策を持っています - 確かにそれはそれほどエレガントではありませんが、うまくいくはずです.

重要: Ctrl+Tab および Ctrl+Shift+Tab を使用して、タブ付きウィンドウを切り替えることができます。

  1. 問題のページを起動する
  2. コード化された UI の記録を開始する
  3. ページがタブ化されている場合、Ctrl+Shift+Tab を押すと、親ページ、またはタブ化されている他のページに移動します。
  4. そのページにいることを確認するアサーションを作成します。
  5. Ctrl+Tab を押すと、テストしている新しいページに戻るはずです。
  6. その新しいページにいることを確認するアサーションを作成します。
  7. これらのアサーションが通れば、タブ付きのページがあることがわかります。ページがスタンドアロン ブラウザーに読み込まれた場合、Ctrl+Tab/Ctrl+Shift+Tab は機能せず、アサーションは失敗します。

次のようになります。

    [TestMethod]
    public void CodedUITestMethod1()
    {
        //This takes you to the parent tab
        this.UIMap.CtrlShiftTab();
        //Assertion to confirm you're on the parent page
        this.UIMap.AssertParentPage();

        //This takes you to the new tab
        this.UIMap.CtrlTab();
        //Assertion to confirm you're on the new page
        this.UIMap.AssertNewPage();
    }

それはトリックを行う必要があります。頑張ってください。結果を得る別の方法を見つけた場合はお知らせください。

編集: Ctrl+Number を使用してタブを切り替えることもできます。したがって、Ctrl+1 で最初のタブに移動し、Ctrl+2 で 2 番目のタブに移動します。

于 2013-09-06T13:19:49.687 に答える