我正在使用 cypress 来测试我的应用程序的流程。此时,它只是开设一个帐户并像用户一样遵循流程。有时我复制了一个链接并想点击该链接。
我遇到的问题是,链接随着我运行的每次测试而变化,并且在复制链接之前我不知道链接是什么。 测试完成后,我想将该链接粘贴到浏览器中并确保该页面确实存在。
我似乎无法找到从剪贴板粘贴的方法。有没有办法做到这一点 ?我的下一个测试基本上需要从
开始cy.visit('paste');
我尝试过做
cy.visit('{Ctrlv}');
但这似乎不起作用。
我认为你想要做的是使用
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)
})
})
如果状态代码是失败代码,测试将失败。