如何在Coded UI中的单独浏览器选项卡中打开超链接

时间:2016-12-06 14:53:23

标签: coded-ui-tests

我在网页上有三种不同的超链接

  • 规划。
  • 解。
  • 联系我们。

我想使用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 个答案:

答案 0 :(得分:2)

默认情况下,如果单击鼠标中键(或单击滚轮),则会在新选项卡中打开链接。在这种情况下,我会修改你的代码,

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

答案 1 :(得分:1)

你可以通过几种不同的方式做到这一点。我会首先使用@ Prageeth-Saravan的方法来查看它是否有效,因为它更容易并且实际测试你的UI。你也可以:

  • 从找到的链接控件中获取URL
  • 发送"新标签"键盘快捷键
  • 重新实例化您的浏览器窗口对象,以确保它指向新标签页
  • 导航到该网址

我加粗第3步的原因与方法无关,如果您打算在新标签中断言或与任何交互,您将不得不记住CodedUI软件将会仍然是"寻找"在旧选项卡上,直到重新初始化它。