问题描述
如何在Chrome浏览器中打开新标签页?
-
我可以在考试开始时打开:
AtataContext.Configure() .UseChrome() .WithArguments("new tab")
-
我试图按快捷方式“ CTRL + T:
[PressKeys("control" + "t",TriggerEvents.AfterClick)]
OR
.Press("^t");
解决方法
显然,对于chromedriver,CTRL + T组合不再起作用。但是我们可以使用window.open()
JavaScript,它还会打开新的标签。
AtataContext.Current.Driver.ExecuteScript("window.open()");
// You also need to switch to newly opened tab.
Go.ToNextWindow<OrdinaryPage>(); // Set the type of your page object instead of OrdinaryPage.
Go.ToUrl("/someurl"); // Set URL.
您还可以将此代码块提取到方法中:
public static TPage CreateAndSwitchToNewTab<TPage>(string url)
where TPage : Page<TPage>
{
AtataContext.Current.Driver.ExecuteScript("window.open()");
var page = Go.ToNextWindow<TPage>();
Go.ToUrl(url);
return page;
}
并以以下形式在测试中使用它:
CreateAndSwitchToNewTab<ProductsPage>("/products")
.PageTitle.Should.Contain("Products");