如何在cypress中从剪贴板粘贴

问题描述 投票:0回答:1

我正在使用 cypress 来测试我的应用程序的流程。此时,它只是开设一个帐户并像用户一样遵循流程。有时我复制了一个链接并想点击该链接。

我遇到的问题是,链接随着我运行的每次测试而变化,并且在复制链接之前我不知道链接是什么。 测试完成后,我想将该链接粘贴到浏览器中并确保该页面确实存在。

我似乎无法找到从剪贴板粘贴的方法。有没有办法做到这一点 ?我的下一个测试基本上需要从

开始
cy.visit('paste');

我尝试过做

cy.visit('{Ctrlv}');

但这似乎不起作用。

javascript cypress paste
1个回答
2
投票

我认为你想要做的是使用

cy.request()
来测试链接是否存在。

如果您需要测试的链接位于原始域之外,

cy.visit(pasted-link-here)
可能会很棘手,但是
cy.request()
可以为您提供状态代码。

cy.window().then(win => {
  win.navigator.clipboard.readText().then(urlFromClipboard => {
    cy.request(urlFromClipboard)
      .then(response => expect(response.status).to.eq(200))
  })
})

其实看这里

cy.request() 要求响应状态码为 2xx 或 3xx

所以你可以用这个

cy.window().then(win => {
  win.navigator.clipboard.readText().then(urlFromClipboard => {
    cy.request(urlFromClipboard)
  })
})

如果状态代码是失败代码,测试将失败。

© www.soinside.com 2019 - 2024. All rights reserved.