阿塔塔。 C#。如何打开新标签页?
Atata. C#. How to open new tab?
如何在 Chrome 浏览器中打开新标签页?
我可以在开始测试时打开:
AtataContext.Configure()
.UseChrome()
.WithArguments("new tab")
我试过按快捷键"CTRL + T:
[PressKeys("control" + "t", TriggerEvents.AfterClick)]
或
.Press("^t");
显然 CTRL+T 组合不再适用于 chromedriver。但是我们可以使用 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");
如何在 Chrome 浏览器中打开新标签页?
我可以在开始测试时打开:
AtataContext.Configure() .UseChrome() .WithArguments("new tab")
我试过按快捷键"CTRL + T:
[PressKeys("control" + "t", TriggerEvents.AfterClick)]
或
.Press("^t");
显然 CTRL+T 组合不再适用于 chromedriver。但是我们可以使用 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");