8

我正在测试一个具有嵌入模式的页面,该页面带有一个带有嵌入代码的文本框和一个“复制”按钮,该按钮应该将文本框的内容复制到剪贴板上,以便用户可以将其粘贴到其他地方。有没有办法测试单击“复制”按钮并验证剪贴板内容是否与文本框的内容匹配?谢谢!

4

1 回答 1

3

TestCafe 不能自动化浏览器的内置行为,包括复制和粘贴功能。由于浏览器开发人员对其进行了测试,因此预计此功能可以正常工作。

您可以尝试通过以下方式检查您的脚本/按钮是否执行复制命令:

const overwriteCopyCommand = ClientFunction(() => {
    document.execCommand = command => window.lastExecutedCommand = command;
});

const getLastExecutedCommand = ClientFunction(() => window.lastExecutedCommand);

await overwriteCopyCommand();
await t
    .click('.copy-url-button')
    .expect(getLastExecutedCommand()).eql('copy');

不幸的是,根据 JavaScript 的限制,我看不到如何检查复制的文本的方法。

在这些线程中查看其他解决方法:

支持 'ctrl+c' 和 'ctrl+v' 组合键用于复制/粘贴选定文本

允许在测试中使用 HTML5 Clipboard API

于 2018-09-13T09:25:03.667 回答