You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
795 B
28 lines
795 B
3 months ago
|
const { test, expect } = require('@playwright/test');
|
||
|
|
||
|
test('Install PWA', async ({ page, context }) => {
|
||
|
await page.goto('./');
|
||
|
|
||
|
// Wait for the service worker to register
|
||
|
await page.waitForSelector('service-worker-registered-indicator', {
|
||
|
timeout: 10000, // Adjust timeout according to your needs
|
||
|
});
|
||
|
|
||
|
// Trigger the install prompt manually
|
||
|
const [installPrompt] = await Promise.all([
|
||
|
page.waitForEvent('beforeinstallprompt'),
|
||
|
page.evaluate(() => {
|
||
|
window.dispatchEvent(new Event('beforeinstallprompt'));
|
||
|
}),
|
||
|
]);
|
||
|
|
||
|
// Accept the install prompt
|
||
|
await installPrompt.prompt();
|
||
|
|
||
|
// Check if the PWA was installed successfully
|
||
|
const result = await installPrompt.userChoice;
|
||
|
expect(result.outcome).toBe('accepted');
|
||
|
|
||
|
// Additional checks go here
|
||
|
});
|