2016-12-06 8 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, чтобы узнать, работает ли это, потому что это проще и фактически проверяет ваш пользовательский интерфейс. Вы можете также:

  • Получить URL из найденного контроля ссылка
  • Отправить «Новая вкладка» сочетание клавиш
  • Reinstantiate Ваш браузер объект окна, чтобы быть уверенным, что это указывает на новую вкладку
  • Перейдите к этому URL

причина, почему я полужирным шаг 3 не зависит от подхода, если вы намерены утверждать или взаимодействовать с anyth в на новой вкладке вам нужно будет помнить, что программное обеспечение CodedUI по-прежнему будет «искать» на старой вкладке, пока вы не повторите ее инициализацию.