Spec-Zone.ru › Playwright

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.

Аргументы

  • name строка | Массив<строка>

    Имя снимка.

  • 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.

Возвращает

  • Promise<пустое значение>

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.

Возвращает

  • Promise<пустое значение>

toHaveTitle​

Убеждается, что у страницы задано данное заголовок.

Использование

await expect(page).toHaveTitle(/.*checkout/);

Аргументы

  • titleOrRegExp строка | RegExp

    Ожидаемый заголовок или RegExp.

  • options Объект (необязательно)

    • timeout число (необязательно)

      Время повторной проверки утверждения в миллисекундах. По умолчанию timeout в TestConfig.expect.

Возвращает

  • Promise<пустое значение>

toHaveURL​

Убеждается, что страница перенаправлена на заданный URL.

Использование

await expect(page).toHaveURL(/.*checkout/);

Аргументы

  • urlOrRegExp строка | RegExp

    Ожидаемая строка URL или RegExp.

  • options Объект (необязательно)

    • ignoreCase логическое значение (необязательно)

      Производить ли регистронезависимый поиск. Параметр ignoreCase имеет приоритет над соответствующим флагом регулярного выражения, если задан.

    • timeout число (необязательно)

      Время повторной проверки утверждения в миллисекундах. По умолчанию timeout в TestConfig.expect.

Возвращает

  • Promise<пустое значение>

Свойства​

not​

Заставляет утверждение проверять обратное условие. Например, этот код проверяет, что URL страницы не содержит "error":

await expect(page).not.toHaveURL('error');

Использование

expect(page).not

Тип

  • PageAssertions

© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-pageassertions

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API