如何使用 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!");
}
我正在测试一个网站。在网站正文中有一个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!");
}