我正在浏览这个网站 https://www.twitch.tv/
并注册一个新用户。
我正在执行这些步骤。
我试图得到这个窗口,但我的应用程序不识别页面,我得到一个错误。请注意所附的图像。
这是我的代码
describe('RegisterTwitchTv', function() {
it('Register New User', function() {
cy.visit('')
cy.title().should('eq', 'Twitch')
cy.get('button[data-a-target="signup-button"]').click()
// cy.on('window:confirm', ($alertElement) => {
// expect($alertElement).to.equal('Log in')
// }).click
cy.contains('Log in').click()
cy.window().then((win) => {
cy.get('button[class~="tw-pd-x-1"]').click()
})
})
})
但我的代码不能识别新的窗口 这是我想处理的窗口。
不幸的是,在当前版本中,通过Cypress访问新窗口是不可能的。
我将是一个很好的做法,使用两个独立的测试来测试这个功能。
describe('RegisterTwitchTv', () => {
// Check the popup is opened
it('Register New User popup is opened', () => {
cy.visit('', {
onBeforeLoad(win) {
cy.stub(win, 'open');
}
});
cy.title().should('eq', 'Twitch')
cy.get('button[data-a-target="signup-button"]').click();
cy.contains('Log in').click();
cy.window()
.its('open')
.should('be.called');
});
// Check the login works
it('Register New User2 login', () => {
cy.visit('/login?popup=true');
cy.get('button[class~="tw-pd-x-1"]').click()
cy.get('#signup-username').type('[email protected]');
...
...
});
});