【问题标题】:Is there a way to access clipboard contents?有没有办法访问剪贴板内容?
【发布时间】:2019-02-17 07:07:22
【问题描述】:

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

【问题讨论】:

  • 您是否尝试在某处模拟“CTRL+V”键以断言粘贴的内容正常?
  • 不,除了那个单一的文本框,我在页面上没有任何地方可以粘贴它,这似乎是一个奇怪的测试。另外,我认为 CTRL+V 现在不能在 testcafe 中使用? github.com/DevExpress/testcafe/issues/2466

标签: automated-tests clipboard e2e-testing testcafe


【解决方案1】:

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 的限制,我没有看到如何检查复制文本的方法。

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

Support 'ctrl+c' and 'ctrl+v' key combinations for copying/pasting selected text

Allow to use HTML5 Clipboard API in tests

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2021-11-18
    相关资源
    最近更新 更多