setNativeDialogHandler来处理ie11访问剪贴板

时间:2018-08-09 21:43:45

标签: automated-tests internet-explorer-11 clipboard e2e-testing testcafe

我有一个测试,可以启动复制到剪贴板的操作。在ie11中生成一个对话框https://imgur.com/aeBZ71A

我无法清除它。这是我的代码

fixture.only`Downloads`
    .page`${page.page}`
    .beforeEach(async (t) => {
        await t
            .maximizeWindow()
            .setNativeDialogHandler((type, text, url) => {
                if (type === 'confirm') { return false } return true
            })
        await page.loginAdmin()
    })
    .afterEach(async (t) => {
        await t.setNativeDialogHandler(null)
    })

但是不会清除对话框。我也尝试过

.setNativeDialogHandler(() => true)

但是对话框仍然存在并且测试超时

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法进行剪贴板交互:

const overrideClipboardCopy = ClientFunction(() => {
    const execCommand = document.execCommand;

    document.execCommand = (action, ...args) => {
        if (action === 'copy') {
            //handle copy here
        }
        else
            return execCommand.call(document, ...args);
    }
});

另请参阅:Allow to use HTML5 Clipboard API in tests