Ответ
Режим инкогнито (Private Browsing) создает сессию, изолированную от основной: не сохраняются история, куки, кеш и данные форм после закрытия окна. Загрузки и закладки могут сохраняться.
Ключевые аспекты для тестирования:
- Изоляция данных: Убедиться, что авторизация, куки, localStorage/sessionStorage из основной сессии не доступны в инкогнито и не сохраняются после его закрытия.
- Функциональность: Проверить, что основная логика приложения работает (например, можно залогиниться заново).
- Расширения браузера: Большинство расширений по умолчанию отключены, что может влиять на поведение страницы.
- Кеширование: Контент не должен кешироваться между сессиями инкогнито.
Пример автоматизированной проверки (WebdriverIO):
it('cookies should not persist after incognito window is closed', async () => {
// Открытие нового окна в режиме инкогнито
await browser.newWindow('https://example.com', { private: true });
// Установка тестовой куки
await browser.setCookies([{ name: 'session', value: 'test123' }]);
// Проверка, что кука установилась для текущей сессии
let cookies = await browser.getCookies();
expect(cookies).toHaveLength(1);
// Закрытие окна инкогнито
await browser.closeWindow();
// Возврат к основному окну и проверка, что тестовая кука там отсутствует
cookies = await browser.getCookies();
expect(cookies.find(c => c.name === 'session')).toBeUndefined();
});