mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	
		
			
	
	
		
			27 lines
		
	
	
		
			857 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			857 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// @ts-check
							 | 
						||
| 
								 | 
							
								const { test, expect } = require('@playwright/test');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test.beforeEach(async ({ page }) => {
							 | 
						||
| 
								 | 
							
								  await page.addInitScript(() => {
							 | 
						||
| 
								 | 
							
								    const mockBattery = {
							 | 
						||
| 
								 | 
							
								      level: 0.90,
							 | 
						||
| 
								 | 
							
								      charging: true,
							 | 
						||
| 
								 | 
							
								      chargingTime: 1800, // seconds
							 | 
						||
| 
								 | 
							
								      dischargingTime: Infinity,
							 | 
						||
| 
								 | 
							
								      addEventListener: () => { }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    // application tries navigator.battery first
							 | 
						||
| 
								 | 
							
								    // so we delete this method
							 | 
						||
| 
								 | 
							
								    delete window.navigator.battery;
							 | 
						||
| 
								 | 
							
								    // Override the method to always return mock battery info.
							 | 
						||
| 
								 | 
							
								    window.navigator.getBattery = async () => mockBattery;
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('show battery status', async ({ page }) => {
							 | 
						||
| 
								 | 
							
								  await page.goto('/');
							 | 
						||
| 
								 | 
							
								  await expect(page.locator('.battery-percentage')).toHaveText('90%');
							 | 
						||
| 
								 | 
							
								  await expect(page.locator('.battery-status')).toHaveText('Adapter');
							 | 
						||
| 
								 | 
							
								  await expect(page.locator('.battery-fully')).toHaveText('00:30');
							 | 
						||
| 
								 | 
							
								})
							 |