2016-12-06 1 views
1

私は、Webページ上の三つの異なるハイパーリンクを持っているコード化されたUIで別のブラウザタブ内のハイパーリンクを開く方法を

  • 計画。
  • ソリューション。
  • お問い合わせ。

別のブラウザタブで、codedUIを使用して1つずつ開きたいとします。 私は新しいブラウザタブ内のハイパーリンクを開くことに関連する助けを必要とするハイパーリンク

  HtmlControl Hyperlink = new HtmlControl(browser); 
      Hyperlink.SearchProperties.Add(HtmlControl.PropertyNames.ControlType,"Hyperlink"); 
      UITestControlCollection controls = Hyperlink.FindMatchingControls(); 
      foreach(UITestControl control in controls) 
        { 
         if (control is HtmlHyperlink) 
         { 
          HtmlHyperlink link = (HtmlHyperlink)control; 
          if(link.InnerText=="Planning"|| link.InnerText== "Solutions") 
          { 
            //separate Tab logic goes here 
           } 
         } 
        } 

のリストを取得するために上記のコードを書かれています。 CodedUIで可能ですか?

答えて

2

デフォルトでは、マウスの中央ボタン(またはスクロールホイールをクリック)をクリックすると、新しいタブにリンクが開きます。この場合、以下のようにコードを変更します。

if(link.InnerText=="Planning"|| link.InnerText== "Solutions") 
{ 
    //Open Link in New tab, by clicking middle button 
    Mouse.Click(link, MouseButtons.Middle); 
} 
1

これを行うには、いくつかの方法があります。私は@ Prageeth-Saravanのアプローチをまず使用して、より簡単で実際にUIをテストするために動作するかどうかを確認します。あなたもできます

  • たリンク制御
  • からURLを取得し、「新しいタブ」のキーボードショートカットを送信
  • 再インスタンスブラウザウィンドウオブジェクトそれが新しいタブ
  • を指しています確かにそのURL

私はあなたが主張するかanythと対話する場合はステップ3は、関係なく、アプローチのある太字理由に

  • 移動を新しいタブに追加すると、CodedUIソフトウェアは、再初期化するまで、以前のタブをまだ「見ている」ことを覚えておく必要があります。

  • 関連する問題