Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как правильно настроить тесты визуального сравнения Playwright при использовании рабочих областей Playwright. Непредвиденные сбои теста могут возникать, так как моментальные снимки Playwright отличаются между локальными и удаленными браузерами.
Это важно
Рабочие области playwright в настоящее время находятся в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общедоступную версию, см . в дополнительных условиях использования для предварительных версий Microsoft Azure.
Предыстория
Средство выполнения тестов playright использует операционную систему узла в рамках ожидаемого пути снимок экрана. Если вы выполняете тесты с помощью удаленных браузеров в операционной системе, отличной от операционной системы, тесты визуального сравнения завершаются сбоем. Наша рекомендация заключается в том, чтобы выполнять только визуальные сравнения при использовании службы. Если вы выполняете снимки экрана в службе, их не нужно сравнивать с локальной настройкой, так как они не соответствуют.
Настройка ignoreSnapshots
Вы можете использовать ignoreSnapshots
этот параметр для выполнения только визуальных сравнений при использовании рабочих областей Playwright.
- Задайте
ignoreSnapshots: true
в исходномplaywright.config.ts
формате, который не использует службу. - Установите
ignoreSnapshots: false
вplaywright.service.config.ts
.
При использовании службы его конфигурация переопределяется playwright.config.ts
и выполняет визуальные сравнения.
Настройка пути моментального снимка
Чтобы настроить пути моментального снимка для определенного проекта или всей конфигурации, можно задать snapshotPathTemplate
параметр.
// This path is exactly like the default path, but replaces OS with hardcoded value that is used on the service (linux).
config.snapshotPathTemplate = '{snapshotDir}/{testFileDir}/{testFileName}-snapshots/{arg}{-projectName}-linux{ext}'
// This is an alternative path where you keep screenshots in a separate directory, one per service OS (linux in this case).
config.snapshotPathTemplate = '{testDir}/__screenshots__/{testFilePath}/linux/{arg}{ext}';
Пример конфигурации службы
Пример конфигурации службы, которая выполняет визуальные сравнения и настраивает путь для snapshotPathTemplate
:
import { defineConfig } from '@playwright/test';
import { getServiceConfig, ServiceOS } from '@azure/playwright';
import { DefaultAzureCredential } from '@azure/identity';
import config from './playwright.config';
/* Learn more about service configuration at https://aka.ms/pww/docs/config */
export default defineConfig(
config,
getServiceConfig(config, {
exposeNetwork: '<loopback>',
timeout: 30000,
os: ServiceOS.LINUX,
credential: new DefaultAzureCredential()
}),
{
ignoreSnapshots: false,
// Enable screenshot testing and configure directory with expectations.
snapshotPathTemplate: `{testDir}/__screenshots__/{testFilePath}/${ServiceOS.LINUX}/{arg}{ext}`,
}
);
Связанный контент
- Узнайте больше о сравнениях визуальных элементов playwright.