Cypress立即对返回句柄的函数执行断言
Cypress立即执行expect断言。根本不需要等待视图打开(需要500毫秒以上)。。还有一个Cypress立即对返回句柄的函数执行断言,cypress,e2e-testing,Cypress,E2e Testing,Cypress立即执行expect断言。根本不需要等待视图打开(需要500毫秒以上)。。还有一个cy.wait(1000)或cy.get('.modalbutton')。应该('be.visible')(这将使句柄.exists()变得真实)也被完全忽略,我无法阻止它立即断言 it('Open and close split view', () => { cy.window().then(win => { const handle = win.Luigi.navigati
cy.wait(1000)
或cy.get('.modalbutton')。应该('be.visible')代码>(这将使句柄.exists()
变得真实)也被完全忽略,我无法阻止它立即断言
it('Open and close split view', () => {
cy.window().then(win => {
const handle = win.Luigi.navigation().openAsSplitView('/ext', {title: 'Preserved Split View' });
// using cy.wait(N) or cy.get('#opened-splitview').should('be.visible'); are being ignored
cy.wait(1000);
// expectations are not working since they are executed immediately
cy.expect(handle.exists()).to.be.true;
handle.close();
cy.expect(handle.exists()).to.be.false;
});
});
另一方面,这一点很有效:
cy.window().then(win => {
const handle = win.Luigi.navigation().openAsSplitView('/ext', { title: 'Preserved Split View', collapsed: false});
handle.collapse();
cy.expect(handle.isCollapsed()).to.be.true;
});
以前,win…openAsSplitView没有保存到Luigi.navigation()api上的handle常量、close和extra命令中,我对其进行了重构,以与客户端api保持一致
所以我觉得这可能是一个错误与柏树赢得拦截。或者我只是用错了
句柄是非异步的,因此可以立即使用。也许重构来返回一个承诺,一旦视图真正打开就会解决,这也会有所帮助
编辑:
这是一种赛普拉斯无法处理的种族状况。我已经用setTimeout
解决了这个问题
setTimeout(() => {
handle.close();
setTimeout(() => {
cy.expect(handle.exists()).to.be.false;
cy.get('#splitViewContainer').should('not.be.visible');
done();
}, 50);
}, 50);
您是否正在尝试使注释输出行正常工作<代码>cy.get('#opened splitview')。应该('be.visible')代码>调用openAsSplitView
时是否有任何请求发生?您可以等待这些任务完成,以帮助协调工作。还可以尝试将超时传递到cy.get
选项否,将立即执行expect
,而无需等待任何操作(甚至不包括cy.wait(1e3)
。是的,有一个请求正在发生,即在iframe中加载视图。