2016-12-06 84 views
1

打開單獨的瀏覽器選項卡中的超鏈接有三種不同的超鏈接的網頁我如何編碼的UI

  • 規劃上。
  • 解決方案。
  • 聯繫我們。

我想打開它們在單獨的瀏覽器選項卡中逐一使用codedUI。 我寫上面的代碼來獲得超鏈接

  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

爲什麼我加粗的第3步是不管的做法,如果你打算斷言或交互的任何物品的原因在一個新選項卡中輸入,您將不得不記住CodedUI軟件仍然會「查看」舊標籤,直到您重新初始化它爲止。