如何从cypress中的剪贴板粘贴

Its*_*ndy 2 javascript paste cypress

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

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

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

cy.visit('paste');
Run Code Online (Sandbox Code Playgroud)

我尝试过做

cy.visit('{Ctrlv}');
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。

use*_*029 6

我认为你想要做的是用来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))
  })
})
Run Code Online (Sandbox Code Playgroud)

其实看这里

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

所以你可以用这个

cy.window().then(win => {
  win.navigator.clipboard.readText().then(urlFromClipboard => {
    cy.request(urlFromClipboard)
  })
})
Run Code Online (Sandbox Code Playgroud)

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