有没有一种方法可以访问剪贴板内容?

8

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


你是否尝试模拟“CTRL+V”键盘按键来确认粘贴的内容是否正确? - Ricovitch
不,除了那个单独的文本框之外,我在页面上没有其他地方可以粘贴它,这似乎是一个奇怪的测试。另外,我认为在testcafe中CTRL+V现在无法工作?https://github.com/DevExpress/testcafe/issues/2466 - Samantha Blasbalg
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剪贴板API

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接