context('Overview', () => {
it('4.1 - From Patient Summaries Screen, click a patient name. - Should take user to the weekly Patient Overview screen.', () => {
cy.login()
cy.get('body div ul li a span')
.should('exist')
.should('be.visible')
.contains('Patients')
.click()
cy.get('td[data-cy=Name]')
.should('be.visible')
.contains('I.B. Sickly')
.click()
cy.get('div[data-cy=headerTitle]')
.should('be.visible')
.screenshot()
})
})
因此,屏幕快照太早拍摄了。这是在第一个获得之后进行的。但是,最后一个块不起作用,因为它将从字面上拍摄屏幕截图。如果我在第二个获得块上链,那将是行不通的,因为那将在.screenshot()
。因此,在第二次点击之后,我最重要的是要进行屏幕截图。
我最终做的是:
contains()
context('Overview', () => {
it('4.1 - From Patient Summaries Screen, click a patient name. - Should take user to the weekly Patient Overview screen.', () => {
cy.login()
cy.get('body div ul li a span')
.should('exist')
.should('be.visible')
.contains('Patients')
.click()
cy.get('td[data-cy=Name]')
.should('be.visible')
.contains('I.B. Sickly')
.click()
cy.get('div[data-cy=patient-name]').should('be.visible')
cy.get('main div line').should('be.visible')
cy.screenshot()
})
})
块,该块表明新屏幕具有独特的东西,并且可见,并且在屏幕屏幕上进行屏幕截图。
似乎向赛普拉斯发出信号,是时候进行屏幕截图了。如果您链接
get()
链接,它将chine off thit元素。
如果您想屏幕截图整个窗口,则无需链接should('be.visible')
。只需致电
.screenshot()
。 添加@Agoff已经提到的有关使用
cy.screenshot()
的内容。您可以再做两件事。
确保可见网页的最后一个元素可能是页脚或其他任何东西,这将表明该页面已完全加载。屏幕截图您可以传递可选参数,例如
cy.screenshot()
。
cy.screenshot()
capture
告诉测试跑步者的哪些部分要捕获。对于元素屏幕截图捕获而忽略了此值。有效值是cy.get('lastElementSelector', {timeout: 6000}).should('be.visible')
cy.screenshot({capture:'fullPage'})
capture
viewport
ViewPort
时,在当前视口中捕获了正在测试的应用程序。当FullPage时,正在测试的应用程序从上到下捕获。当Runner时,捕获了整个浏览器视口,包括柏树命令日志。对于自动进行测试失败的屏幕截图,捕获始终被强制为Runner。 您可以在此处查看所有其他可选参数-https://docs.cypress.io/api/commands/screenshot#arguments