提问人:LuisF 提问时间:7/18/2023 更新时间:7/18/2023 访问量:43
如何在 Puppeteer 中测试 navigator.share()?
How to get navigator.share() tested in puppeteer?
问:
我正在使用 puppeteer 完成一些自动化测试,但无法弄清楚如何在用户单击后测试 navigator.share() 函数是否正常运行。
答:
0赞
Yaroslavm
7/18/2023
#1
如果要测试该函数被调用,则可以在浏览器上下文中模拟它,并检查是否在操作后调用了模拟函数,例如navigator.share()
await page.evaluateOnNewDocument(() => {
window['isNavigatorShareCalled'] = false;
window.navigator.share = async (data) => {
window['isNavigatorShareCalled'] = true;
window['shareData'] = data;
};
});
await page.goto(yourSite);
await page.waitForSelector(trigger).then(el => el.click());
const isShareCalled = await page.evaluate(() => {
return window['isNavigatorShareCalled'];
});
expect(isShareCalled).toBe(true);
// check data if needed
如果你需要调用原生共享,你可以在 mock 中完成。
评论