前端自动化测试框架Cypress(二十一)---屏幕截图.screenshot()

25 篇文章 18 订阅
25 篇文章 18 订阅

.screenshot()—屏幕截图,保存路径cypress/screenshots/my-image.png
语法

.screenshot()
.screenshot(fileName)
.screenshot(options)
.screenshot(fileName, options)

// ---or---

cy.screenshot()
cy.screenshot(fileName)
cy.screenshot(options)
cy.screenshot(fileName, options)

实例一

describe('my tests', () => {
  it('takes a screenshot', () => {
    // screenshot will be saved as
    // cypress/screenshots/users.spec.js/my tests -- takes a screenshot.png
    cy.screenshot()
  })
})

**实例二 **

//截图并另存为特定的文件名
// cypress/screenshots/spec.js/clicking-on-nav.png
cy.screenshot('clicking-on-nav')

实例三

//截图保存在特定目录中
// cypress/screenshots/spec.js/actions/login/clicking-login.png
cy.screenshot('actions/login/clicking-login')

实例四

//将屏幕截图裁剪到特定的位置和大小
// screenshot will be clipped 20px from the top and left
// to the dimensions 400px x 300px
cy.screenshot({ x: 20, y: 20, width: 400, height: 300 })

实例五

cy.get('.post').first().screenshot()

实例六

//元素周围有10px的填充
cy.get('.post').first().screenshot({ padding: 10 })

实例七

//截图并单击该元素
cy.get('button').first().screenshot().click()

实例八

describe('my tests', () => {
  it('takes a screenshot', () => {
    cy.screenshot() // cypress/screenshots/users/login_spec.js/my tests -- takes a screenshot.png
    cy.screenshot() // cypress/screenshots/users/login_spec.js/my tests -- takes a screenshot (1).png
    cy.screenshot() // cypress/screenshots/users/login_spec.js/my tests -- takes a screenshot (2).png

    cy.screenshot('my-screenshot') // cypress/screenshots/users/login_spec.js/my-screenshot.png
    cy.screenshot('my-screenshot') // cypress/screenshots/users/login_spec.js/my-screenshot (1).png

    cy.screenshot('my/nested/screenshot') // cypress/screenshots/users/login_spec.js/my/nested/screenshot.png

    // if this test fails, the screenshot will be saved to cypress/screenshots/users/login_spec.js/my tests -- takes a screenshot (failed).png
  })
})

实例九

当将整个页面传递给capture选项时,Cypress将测试中的应用程序从上到下滚动,在每个点上截取屏幕截图并将它们缝合在一起。因此,position:fixed或position:sticky元素将在最终屏幕截图中多次出现。为了防止这种情况发生,在大多数情况下,您可以在屏幕截图之前以编程方式将元素更改为position:absolute,然后再将其更改回原处,如下所示:

cy.get('.sticky-header').invoke('css', 'position', 'absolute')
cy.screenshot()
cy.get('.sticky-header').invoke('css', 'position', null)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值