Как использовать API буфера обмена в незащищенном контексте - PullRequest
0 голосов
/ 07 августа 2020

Насколько я знаю, есть список функций, доступных только для Secure Context Щелкните . Я запускаю свои тесты браузера в контейнере docker (Ubuntu, Chrome 84). Как я могу включить доступ к API буфера обмена с небезопасным контекстом (приложение работает через http //: в тестовой среде)?

Я попытался добавить несколько аргументов к команде, которая запускает Chrome, но она не работает:

google-chrome --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

Пример ошибки с Jest + puppetier:

const context = page.browserContext();
const url = page.url();
const { origin } = new URL(url);
console.log('ORIGIN', origin); // http://docker.for.mac.host.internal:1111
await context.overridePermissions('http://docker.for.mac.host.internal:1111', ['clipboard-write', 'clipboard-read']);
const isSecureContext = await page.evaluate(() => window.isSecureContext); 
console.log(isSecureContext) // false (must be true)
const copiedText = await page.evaluate(() => navigator.clipboard.readText()); // error: clipboard is undefined
expect(copiedText).toEqual('');
...