javascript - 如何在 cypress 中获取复制到剪贴板的内容

标签 javascript cypress

如何获取 cypress 中的“剪贴板”内容。我的网络应用程序中有一个按钮,单击按钮系统将执行“复制到剪贴板”并显示一条消息。下面是复制到剪贴板的 url 内容的示例(此 url 内容与网站 url 不同)

https://someurl.net/machines/0c459829-a5b1-4d4b-b3c3-18b03c1c969a/attachments/a30ceca7-198e-4d87-a550-04c97fbb9231/download

我仔细检查了该按钮标记中是否没有 href 属性。所以我使用了一个名为 Clipboardy 的插件,并且添加了 plugins/index.js 文件

 const clipboardy = require('clipboardy');
    module.exports = ( on ) => {
        on('task', {
            getClipboard () {
                return clipboardy.readSync();
            }
        });
    };

在我的测试中,我使用 cy.task() 来获取剪贴板内容,但这并没有打印实际的 url 内容

cy.get('td').find('div').find('span').find('button').find('i').eq(0).click().then(()=>{
          cy.task('getClipboard').then((data)=>{
          console.log("Helloooo:"+data);
      })
    })

<td class="sc-hgRTRy duUdhJ">
<div>
<span class="sc-bYwvMP jTmLTC">
<span class="sc-jzJRlG iVpVVy">
<span role="button" aria-expanded="true" aria-haspopup="true" aria-owns="5aa03785-1370-455e-a838-4154f7481a7b">
<button class="sc-feJyhm cJOKrG">
<i class="icon fas fa-link sc-htpNat cQABgO" aria-hidden="true" data-component-type="icon">
</i>
</button>
</span>
</span>
</span>
</div>
</td>

enter image description here

最佳答案

如果您不想使用clipboardy package你也可以使用这个:

cy.window().then((win) => {
    win.navigator.clipboard.readText().then((text) => {
      expect(text).to.eq('your copied text');
    });
  });

在你的情况下,它会变成类似

   cy.get('td').find('div').find('span').find('button').find('i').eq(0).click().then(()=>{
    cy.window().then((win) => {
      win.navigator.clipboard.readText().then((text) => {
        console.log("Helloooo:"+text);
      });
    });
   })

关于javascript - 如何在 cypress 中获取复制到剪贴板的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61650737/

相关文章:

javascript - Google Chrome 浏览器的 "user-select: element"解决方法?

javascript - 在另一个函数中返回一个函数的结果会产生错误的结果

javascript - 删除数组元素会导致多次重新渲染

javascript - cypress.json 文件未被识别

testing - cypress 是否支持像 selenium 这样的跨浏览器测试,或者是否有任何限制

reactjs - 需要了解配置 React 和 cypress 的最佳方法

javascript - 谷歌地图自动完成和自动完成服务之间的不同结果

javascript - 是否可以将 beforeEach 和 afterEach Cypress Hook 组合成自定义命令?

testing - Cypress - cmd 运行的不可见元素

javascript - IE 输入文件属性未定义