如何使用 C# 使用 TestComplete 验证是否在浏览器中打开了新选项卡

How to verify that a new tab is opened in a browser with TestComplete using C#

我正在测试一个网站。在网站正文中有一个URL。单击 URL 后,它应该在新选项卡中打开,而不是在同一个 window 中打开。单击 URL link 后,它会在新标签页浏览器中打开。我已经手动测试过了。

我想通过将 TestComplete 与 C#Script 结合使用来验证该功能。怎么做?

你可以模拟点击这个link,然后检查当前页面对象的URL是否已经改变,目标URL的新页面对象是否有出现了。

function Test1()
{
  var browser = Sys.Browser("firefox");
  var numOfTabs = browser.FindAllChildren("ObjectType", "Page").toArray().length;
  var page = browser.ToUrl("http://www.w3schools.com/html/tryit.asp?filename=tryhtml_links_target");

  var pageUrl = page.Url; 
  frame = page.Panel(0).Panel(1).Panel(0).Panel(1).Frame("iframeResult");
  frame.Link(0).Click();

  if (page.Url != pageUrl)
    Log.Error("The page's URL has been changed!");

  if (browser.FindAllChildren("ObjectType", "Page").toArray().length == numOfTabs)
    Log.Error("A new tab has not been opened!");
}