I am trying to use const clipboardText = await page.evaluate("navigator.clipboard.readText()"); to read content from clipboard when using Firefox with Playwright and Browserstack, and consistently getting the error: page.evaluate: navigator.clipboard.readText is not a function @debugger eval code line 208 > eval:1:21 evaluate@debugger eval code:208:30 @debugger eval code:1:44
This is how I launch the browser and connect to Browserstack:
test.beforeEach(async ({ playwright }, testInfo) => {
test.setTimeout(2400000);
patchCaps(testInfo.project.name, `${testInfo.title}`);
browser = await playwright.firefox.connect({
wsEndpoint:
`wss://cdp.browserstack.com/playwright?caps=` +
`${encodeURIComponent(JSON.stringify(caps))}`,
firefoxUserPrefs: {
'dom.events.asyncClipboard.readText': true,
'dom.events.testing.asyncClipboard': true,
},
});
context = await browser.newContext(testInfo.project.use);
context = await browser.newContext()
page = await context.newPage();
await page.goto(`${url}/form`)
await page.waitForTimeout(15000)
});
This is in my projects:
{
name: "playwright-firefox@latest:OSX Ventura@browserstack",
use: {
launchOptions: {
firefoxUserPrefs: {
'dom.events.asyncClipboard.readText': true,
'dom.events.testing.asyncClipboard': true,
},
}
},
},
However, when I use this to launch the browser:
browser = await firefox.launch({
firefoxUserPrefs: {
'dom.events.asyncClipboard.readText': true,
'dom.events.testing.asyncClipboard': true,
},
})
the function reading from the clipboard works without a hitch. However, this method does not allow me to connect to Browserstack, even when I set a corresponding cdpEndpoint in projects.
Why is this happening? How can I both connect to Browserstack and read from my clipboard?