赛普拉斯如何关闭 window 打印对话框
Cypress how to close window print dialog
我希望使用 cypress 对打印 window 执行操作。
当我点击打印按钮时手动打印 window,如图 1 所示。
但是当我 运行 在 cypress test 运行ner 中使用相同的脚本时,我得到了图 2 中的打印 windows。
我知道可以使用存根来完成对此类 window 的操作。但我什至无法检查打印 window 我进入测试 运行ner 即图像 2。那么取消按钮的定位器应该是什么?
let printStub
cy.window().then(win => {
printStub = cy.stub(win, 'print')
cy.get(HOW DO I GET THE LOCATOR).click().then(()=>{
expect(win.print).to.be.called
})
})
图片 1:
图2:
我不确定是什么导致了两次打印 windows 的不同,但从技术上讲,您不需要测试实际打印的部分,只需调用 window.print
即可。
如果您同意,请遵循此示例 Replace a method with a function,将虚拟函数作为第三个参数添加到存根。
let printCalled = false
cy.stub(cy.state('window'), 'print', () => {
printCalled = true
})
cy.get('the-print-button-selector').click() // app calls window.print
.should(() => expect(printCalled).to.eq(true))
或者只是断言调用发生了
const stub = cy.stub(cy.state('window'), 'print', () => {}) // replace print with do-nothing fn
cy.get('the-print-button-selector').click() // app calls window.print
.should(() => expect(stub).to.be.called)
我希望使用 cypress 对打印 window 执行操作。
当我点击打印按钮时手动打印 window,如图 1 所示。 但是当我 运行 在 cypress test 运行ner 中使用相同的脚本时,我得到了图 2 中的打印 windows。
我知道可以使用存根来完成对此类 window 的操作。但我什至无法检查打印 window 我进入测试 运行ner 即图像 2。那么取消按钮的定位器应该是什么?
let printStub
cy.window().then(win => {
printStub = cy.stub(win, 'print')
cy.get(HOW DO I GET THE LOCATOR).click().then(()=>{
expect(win.print).to.be.called
})
})
图片 1:
图2:
我不确定是什么导致了两次打印 windows 的不同,但从技术上讲,您不需要测试实际打印的部分,只需调用 window.print
即可。
如果您同意,请遵循此示例 Replace a method with a function,将虚拟函数作为第三个参数添加到存根。
let printCalled = false
cy.stub(cy.state('window'), 'print', () => {
printCalled = true
})
cy.get('the-print-button-selector').click() // app calls window.print
.should(() => expect(printCalled).to.eq(true))
或者只是断言调用发生了
const stub = cy.stub(cy.state('window'), 'print', () => {}) // replace print with do-nothing fn
cy.get('the-print-button-selector').click() // app calls window.print
.should(() => expect(stub).to.be.called)