Насколько я знаю, есть список функций, доступных только для 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('');