作者:君与龙_501 | 来源:互联网 | 2023-06-15 16:07
需要测试从现有选项卡重定向的新选项卡。我们如何在赛普拉斯中进行测试?
如果将其重定向到new url/tab
(即新的子域),并且在cypress中以新标签页的形式打开,您仍然可以使用cypress进行测试。
我以邮递员网站为例来说明这一点。在邮递员站点中,单击Learning Center
标签将打开一个新标签。下面的测试示例将在您现有的测试运行器选项卡中打开。请参考下面的代码:
context('New tab actions',() => {
it('Test to open a new tab in cypress and test the page',() => {
cy.visit('https://www.getpostman.com/');
cy.get('#mobile-menu-button').click();
cy.get('#mobileNav > #siteNav > nav > ul > li').contains("Product ");
cy.get('#mobileNav > #siteNav > .site-nav__secondary-menu > a').first().then(($a)=>{
const newUrl = Cypress.$($a).attr('href');
console.log(newUrl);
cy.visit(newUrl);
cy.get('.header__title').invoke('text').then((text)=>{
const headerText = text;
expect(headerText).to.contain('Learning Center');
//Similarly you can follow the same mechanism and start writing all of remaining tests related to that page....
})
})
})
})
,
您无法测试。赛普拉斯不支持新窗口和/或选项卡。您可以采取的解决方法是:
- 测试是否存在指向新窗口/标签的链接
- 创建另一个测试,该测试立即打开该窗口/选项卡的URL。
,
对于这种情况,我确实找到了一种解决方法,在这种情况下,我想访问一个新 URL,然后测试其内容。这对我有效,因为 URL 在 HTML
中可用
如果有效就试试这个
Public Sub New()
userAgent = "My UserAgent"
InitializeComponent()
Dim settings As New CefSettings()
settings.UserAgent = userAgent
CefSharp.Cef.Initialize(settings)
browser = New List(Of ChromiumWebBrowser)
End Sub