PageAssertions
Класс PageAssertions предоставляет методы утверждений, которые могут быть использованы для проверки состояния Page в тестах.
import { test, expect } from '@playwright/test';
test('navigates to login', async ({ page }) => {
// ...
await page.getByText('Sign in').click();
await expect(page).toHaveURL(/.*\/login/);
}); Методы
toHaveScreenshot(name)
Эта функция будет ожидать, пока два последовательных скриншота страницы не дадут один и тот же результат, а затем сравнит последний скриншот с ожиданием.
Использование
await expect(page).toHaveScreenshot('image.png'); Обратите внимание, что утверждения скриншотов работают только с тестовым исполнителем Playwright.
Аргументы
-
Имя снимка.
-
optionsОбъект (необязательно)-
animations"disabled" | "allow" (необязательно)При установке в
"disabled", останавливает анимации CSS, переходы CSS и Web Animations. Анимации обрабатываются по-разному в зависимости от их продолжительности:- конечные анимации доводятся до завершения, поэтому они вызовут событие
transitionend. - бесконечные анимации отменяются до начального состояния, а затем воспроизводятся заново после скриншота.
По умолчанию
"disabled", что отключает анимации. - конечные анимации доводятся до завершения, поэтому они вызовут событие
-
caret"hide" | "initial" (необязательно)При установке в
"hide", скриншот скроет курсор текста. При установке в"initial", поведение курсора текста не изменится. По умолчанию"hide". -
clipОбъект (необязательно)-
xчислокоордината x левого верхнего угла области обрезки
-
yчислокоордината y левого верхнего угла области обрезки
-
widthчислоширина области обрезки
-
heightчисловысота области обрезки
Объект, определяющий обрезку результирующего изображения.
-
-
fullPageбулево (необязательно)При значении true создает скриншот всей прокручиваемой страницы, а не только видимой области просмотра. По умолчанию
false. -
maskМассив<Локатор> (необязательно)Укажите локаторы, которые должны быть замаскированы при создании скриншота. Замаскированные элементы будут перекрыты розовым прямоугольником
#FF00FF(настраиваемым с помощью maskColor), полностью покрывающим их рамку. -
maskColorстрока (необязательно)Укажите цвет перекрывающего прямоугольника для замаскированных элементов в формате CSS. Цвет по умолчанию — розовый
#FF00FF. -
maxDiffPixelRatioчисло (необязательно)Допустимое соотношение пикселей, отличающихся от общего числа пикселей, в диапазоне от
0до1. По умолчанию настраивается с помощьюTestConfig.expect. По умолчанию не задано. -
maxDiffPixelsчисло (необязательно)Допустимое количество отличающихся пикселей. По умолчанию настраивается с помощью
TestConfig.expect. По умолчанию не задано. -
omitBackgroundбулево (необязательно)Скрывает стандартный белый фон и позволяет создавать скриншоты с прозрачностью. Не применимо к
jpegизображениям. По умолчаниюfalse. -
scale"css" | "device" (необязательно)При установке в
"css", скриншот будет содержать один пиксель на каждый пиксель CSS на странице. Для устройств с высоким разрешением это позволит сохранить скриншоты компактными. Использование"device"опции создаст один пиксель на каждый пиксель устройства, поэтому скриншоты устройств с высоким разрешением будут вдвое больше или даже больше.По умолчанию
"css". -
stylePathстрока | Массив<строка> (необязательно)Имя файла, содержащего таблицу стилей, которая должна быть применена при создании скриншота. Здесь вы можете скрыть динамические элементы, сделать элементы невидимыми или изменить их свойства, чтобы помочь вам создавать повторяющиеся скриншоты. Эта таблица стилей проникает в Shadow DOM и применяется к внутренним кадрам.
-
thresholdчисло (необязательно)Допустимая разница восприятия цвета в цветовом пространстве YIQ между одним и тем же пикселем в сравниваемых изображениях, от нуля (строго) до одного (свободно), по умолчанию настраивается с помощью
TestConfig.expect. По умолчанию0.2. -
timeoutчисло (необязательно)Время повторной проверки утверждения в миллисекундах. По умолчанию
timeoutвTestConfig.expect.
-
Возвращает
toHaveScreenshot()
Эта функция ожидает, пока два последовательных скриншота страницы дадут один и тот же результат, а затем сравнивает последний скриншот с ожидаемым.
Использование
await expect(page).toHaveScreenshot();
Обратите внимание, что проверки скриншотов работают только с тестовым запуском Playwright.
Аргументы
-
optionsОбъект (необязательно)-
animations"отключено" | "разрешено" (необязательно)При установке в значение
"disabled", останавливает анимации CSS, переходы CSS и анимации Web Animations. Анимации обрабатываются по-разному в зависимости от их продолжительности:- конечные анимации ускоряются до завершения, поэтому они срабатывают
transitionendсобытие. - бесконечные анимации отменяются до начального состояния и затем воспроизводятся после скриншота.
По умолчанию
"disabled", что отключает анимации. - конечные анимации ускоряются до завершения, поэтому они срабатывают
-
caret"скрыть" | "начальное" (необязательно)При установке в значение
"hide", скриншот скроет текстовый курсор. При установке в значение"initial", поведение текстового курсора не будет изменено. По умолчанию"hide". -
clipОбъект (необязательно)-
xчислокоордината x левого верхнего угла области обрезки
-
yчислокоордината y левого верхнего угла области обрезки
-
widthчислоширина области обрезки
-
heightчисловысота области обрезки
Объект, определяющий обрезку результирующего изображения.
-
-
fullPageлогическое значение (необязательно)При значении true, делает скриншот всей прокручиваемой страницы, вместо текущего видимого области просмотра. По умолчанию
false. -
maskМассив<Locator> (необязательно)Укажите локеры, которые должны быть замаскированы при создании скриншота. Замаскированные элементы будут наложены розовым прямоугольником
#FF00FF(настраивается параметром maskColor), который полностью покрывает его границу. -
maskColorстрока (необязательно)Укажите цвет наложенного прямоугольника для замаскированных элементов в формате CSS цвета. Цвет по умолчанию розовый
#FF00FF. -
maxDiffPixelRatioчисло (необязательно)Допустимое соотношение пикселей, отличающихся от общего количества пикселей, между
0и1. По умолчанию настраивается параметромTestConfig.expect. По умолчанию не задано. -
maxDiffPixelsчисло (необязательно)Допустимое количество пикселей, которые могут отличаться. По умолчанию настраивается параметром
TestConfig.expect. По умолчанию не задано. -
omitBackgroundлогическое значение (необязательно)Скрывает стандартный белый фон и позволяет создавать скриншоты с прозрачностью. Не применимо к изображениям
jpeg. По умолчаниюfalse. -
scale"css" | "устройство" (необязательно)При установке в значение
"css", скриншот будет содержать один пиксель на каждый пиксель CSS на странице. Для устройств с высокой плотностью пикселей это позволит сохранить скриншоты компактными. Использование параметра"device"создаст один пиксель на каждый пиксель устройства, поэтому скриншоты устройств с высокой плотностью пикселей будут в два раза больше или даже больше.По умолчанию
"css". -
stylePathстрока | массив<строка> (необязательно)Имя файла, содержащего таблицу стилей для применения при создании скриншота. Здесь вы можете скрыть динамические элементы, сделать элементы невидимыми или изменить их свойства, чтобы помочь вам создавать повторяемые скриншоты. Эта таблица стилей проникает через Shadow DOM и применяется к внутренним фреймам.
-
thresholdчисло (необязательно)Допустимая разница в восприятии цвета в цветовом пространстве YIQ между тем же пикселем в сравниваемых изображениях, от нуля (строго) до единицы (свободно), по умолчанию настраивается параметром
TestConfig.expect. По умолчанию0.2. -
timeoutчисло (необязательно)Время повторной проверки утверждения в миллисекундах. По умолчанию
timeoutвTestConfig.expect.
-
Возвращает
toHaveTitle
Убеждается, что у страницы задано данное заголовок.
Использование
await expect(page).toHaveTitle(/.*checkout/);
Аргументы
-
Ожидаемый заголовок или RegExp.
-
optionsОбъект (необязательно)-
timeoutчисло (необязательно)Время повторной проверки утверждения в миллисекундах. По умолчанию
timeoutвTestConfig.expect.
-
Возвращает
toHaveURL
Убеждается, что страница перенаправлена на заданный URL.
Использование
await expect(page).toHaveURL(/.*checkout/);
Аргументы
-
Ожидаемая строка URL или RegExp.
-
optionsОбъект (необязательно)-
ignoreCaseлогическое значение (необязательно)Производить ли регистронезависимый поиск. Параметр ignoreCase имеет приоритет над соответствующим флагом регулярного выражения, если задан.
-
timeoutчисло (необязательно)Время повторной проверки утверждения в миллисекундах. По умолчанию
timeoutвTestConfig.expect.
-
Возвращает
Свойства
not
Заставляет утверждение проверять обратное условие. Например, этот код проверяет, что URL страницы не содержит "error":
await expect(page).not.toHaveURL('error'); Использование
expect(page).not
Тип
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-pageassertions