Окремий браузер не означає окремий акаунт
Контексти браузера розділяють cookies, але не спільні записи сервера. Паралельним тестам, що змінюють дані, потрібні окремі акаунти й дані.

Перекладне видання. Технічні ідентифікатори залишаються в оригінальній формі.
Два умовні тести працюють одночасно. Перший очікує часовий пояс UTC. Другий зберігає значення "Europe/Riga". Кожен має новий контекст браузера, але обидва увійшли в один акаунт. Перший тест падає: запис сервера змінився, хоча cookies були розділені.
Ця різниця має значення, коли агент створює більше покриття, ніж у вашому старому пакеті. Паралельне виконання може виявити припущення спільного стану, які були приховані під час виконання тестів один за одним. Практичним артефактом є карта власності: який тест може записати який обліковий запис і запис, і коли цей стан скидається.
Намалюйте дві межі окремо
Посібник із автентифікації від Playwright пояснює ізоляцію контексту браузера та стан автентифікації завантаження. Він також попереджає, що тести, які змінюють стан на стороні сервера, повинні використовувати різні облікові записи, якщо одночасне використання вплине на інший тест. Контекст - це межа клієнта. Обліковий запис, орендар або простір імен запису є межею програми. Жоден не є замінником іншого.
Перелічіть обидва в огляді. Згенерований тест має визначити контекст, який він використовує, і дані, які він може змінити. Якщо він читає лише незмінний вміст, спільне використання облікового запису може бути розумним. Якщо він змінює налаштування, створює замовлення або редагує спільний документ, перевірте обліковий запис і запишіть право власності, перш ніж збільшувати кількість паралельних працівників.
Виберіть найменшу корисну одиницю власності
Посібник Playwright документує один обліковий запис для кожного паралельного робочого місця для тестів, які змінюють стан на стороні сервера. Це може зменшити перешкоди між працівниками. Це не означає, що кожен тест у воркері може залишати довільні зміни. Скиньте або запустіть стан, потрібний кожному тесту, і зробіть очищення явним.
Іноді більш безпечною одиницею є унікальний запис на тест, а не обліковий запис на тест. Для списку завдань, який належить команді, окремі облікові записи все ще можуть писати той самий спільний список. Для процесу оформлення замовлення може знадобитися унікальний простір імен кошика або замовлення. Виберіть одиницю з фактичних правил спільного використання продукту, а не з назви API браузера.
Контракт даних, якому може слідувати агент
Напишіть чотири поля біля кожного сценарію: простір імен власника, стан налаштування, дозволений запис і поведінка очищення. Ілюстративний контракт може зарезервувати проміжного користувача для одного працівника, заповнити порожній кошик перед тестом, дозволити створювати лише синтетичні замовлення та видалити ці замовлення після збереження доказів помилки. Вкажіть, що відбувається, коли очищення не вдається; інакше наступний запуск успадковує таємницю.
Зберігайте налаштування незалежно від успіху іншого тесту. Фікстури Playwright забезпечують структурований життєвий цикл для підготовки та випуску тестових ресурсів. Використовуйте цей життєвий цикл, щоб зробити право власності зрозумілим, а не ховати глобальний спільний обліковий запис за зручною назвою приладу. Рецензент повинен мати можливість визначити, хто є власником кожного змінного ресурсу.
Команда контролю якості може використовувати цю карту, щоб витрачати менше часу на випадкові помилки перехресних тестів. Команда без контролю якості може почати з одного критичного потоку та одного обмеженого пулу проміжних облікових записів. Жодному не потрібно створювати величезне середовище, перш ніж визначити, чи корисний перший потік.
Стан автентифікації - секретний файл
Playwright попереджає, що збережений стан браузера може містити файли cookie та заголовки, які можуть видавати себе за обліковий запис. Його керівництво не рекомендує зберігати ці файли в сховищах, у тому числі в приватних. Розглядайте їх як облікові дані: тримайте їх подалі від вихідних архівів, обмежте доступ і створюйте їх повторно, коли це необхідно.
Ніколи не давайте агенту-розвіднику робочий сеанс лише тому, що налаштування входу здається незручним. Використовуйте проміжні облікові записи з дозволами, необхідними для сценарію. Окремий браузер, який містить файл cookie адміністратора, залишається адміністратором.
Вважайте помилкові невдачі справжньою роботою
Відстежуйте збої, спричинені спільним станом, окремо від регресії продукту. Включіть хвилини, витрачені на повторне заповнення облікових записів і розслідування втручання, у вартість ремонту пілотної автоматизації. Більше згенерованих тестів може збільшити охоплення, але вони також можуть збільшити суперечку, якщо право власності неясно. Економія досягається тоді, коли корисне покриття та передбачувані дані зменшують повторну роботу, а не коли кількість тестів зростає.
Загальні запитання
Чи ізолює дані сервера новий контекст браузера?
Ні. Він розділяє стан браузера на стороні клієнта, але два автентифіковані контексти можуть змінювати той самий обліковий запис або запис сервера.
Чи кожен тест повинен використовувати інший обліковий запис?
Не обов'язково. Playwright документує спільні облікові записи для тестів, які не заважають, і один обліковий запис на кожного паралельного працівника для сценаристів у стані сервера. Спільні записи продукту можуть потребувати подальшого розділення.
Чи можу я зафіксувати автентифікований стан зберігання?
Драматург попереджає, що він може містити файли cookie та заголовки, які можуть імітувати обліковий запис, і не рекомендує розміщувати його навіть у приватних сховищах.