dblclick
Двойной щелчок по элементу DOM.
Синтаксис
.dblclick()
.dblclick(options)
.dblclick(position)
.dblclick(position, options)
.dblclick(x, y)
.dblclick(x, y, options)
Использование
Правильное использование
cy.get('button').dblclick() // Double click on button
cy.focused().dblclick() // Double click on el with focus
cy.contains('Welcome').dblclick() // Double click on first el containing 'Welcome'
Неправильное использование
cy.dblclick('button') // Errors, cannot be chained off 'cy'
cy.window().dblclick() // Errors, 'window' does not yield DOM element
Аргументы
position (Строка)
Положение, в котором должен быть выполнен двойной щелчок. По умолчанию используется позиция center. Допустимые позиции: topLeft, top, topRight, left, center, right, bottomLeft, bottom, и bottomRight.
x (Число)
Расстояние в пикселях от левого края элемента, где должен быть выполнен двойной щелчок.
y (Число)
Расстояние в пикселях от верхнего края элемента, где должен быть выполнен двойной щелчок.
options (Объект)
Передайте объект options, чтобы изменить стандартное поведение .dblclick().
| Опция | Значение по умолчанию | Описание |
|---|---|---|
altKey |
false |
Активирует клавишу Alt (клавишу Option на Mac). Псевдонимы: optionKey. |
animationDistanceThreshold |
animationDistanceThreshold |
Расстояние в пикселях, на которое элемент должен сместиться за определённое время, чтобы его считали анимирующимся. Подробнее. |
ctrlKey |
false |
Активирует клавишу Ctrl. Псевдонимы: controlKey. |
log |
true |
Отображает команду в Журнале команд |
force |
false |
Выполняет действие принудительно, отключает ожидание достижения работоспособности |
metaKey |
false |
Активирует клавишу Meta (клавиша Windows или Command на Mac). Псевдонимы: commandKey, cmdKey. |
multiple |
true |
Поочередно щелкает по нескольким элементам |
scrollBehavior |
scrollBehavior |
Позиция области просмотра, до которой должен прокрутиться элемент перед выполнением команды |
shiftKey |
false |
Активирует клавишу Shift. |
timeout |
defaultCommandTimeout |
Время ожидания, в течение которого .dblclick() должно разрешиться, прежде чем произойдёт таймаут
|
waitForAnimations |
waitForAnimations |
Ожидать завершения анимации элементов перед выполнением команды. |
Возвращаемое значение
-
.dblclick()возвращает тот же объект, который был передан в предыдущей команде.
Примеры
Без аргументов
Двойной щелчок по ссылке
cy.get('a#nav1').dblclick() // yields the <a>
Позиция
Указание позиции элемента для двойного щелчка
Нажмите по центру нижней части кнопки.
cy.get('button').dblclick('bottom')
Координаты
Указание координат относительно верхнего левого угла
Двойной щелчок ниже будет выполнен внутри элемента (30 пикселей от левого края и 10 пикселей от верхнего края).
cy.get('button').dblclick(30, 10)
Опции
Принудительное выполнение двойного щелчка независимо от состояния готовности
Принудительное выполнение двойного щелчка игнорирует проверки готовности, которые применяет Cypress, и автоматически сгенерирует события.
cy.get('button').dblclick({ force: true })
Принудительное выполнение двойного щелчка с аргументом позиции
cy.get('button').dblclick('topRight', { force: true })
Принудительное выполнение двойного щелчка с относительными координатами
cy.get('button').dblclick(60, 60, { force: true })
Двойной щелчок по всем кнопкам на странице
По умолчанию Cypress последовательно выполняет двойной щелчок по каждому элементу и записывает его в Журнал команд несколько раз.
Вы можете отключить это, передав multiple: false в .dblclick().
cy.get('button').dblclick({ multiple: false })
Двойной щелчок с комбинацией клавиш
Команда .dblclick() также может быть выполнена с модификаторами клавиш, чтобы смоделировать одновременное удержание комбинации клавиш во время двойного щелчка, например, SHIFT + double click.
Вы также можете использовать комбинации клавиш при .type(). Это предоставляет возможность удерживать клавиши в течение нескольких команд. Дополнительная информация представлена в Комбинации клавиш.
Следующие модификаторы могут быть объединены с .dblclick().
| Опция | Примечания |
|---|---|
altKey |
Активирует клавишу Alt (клавишу Option на Mac). Псевдонимы: optionKey. |
ctrlKey |
Активирует клавишу Ctrl. Псевдонимы: controlKey. |
metaKey |
Активирует клавишу Meta (клавиша Windows или Command на Mac). Псевдонимы: commandKey, cmdKey. |
shiftKey |
Активирует клавишу Shift. |
Alt-щелчок
// execute ALT + dblclick on the first <li>
cy.get('li:first').dblclick({
altKey: true,
})
Примечания
Работоспособность
Элемент должен сначала стать работоспособным
.dblclick() — это "команда действия", которая следует всем правилам Работоспособности.
Правила
Требования
-
.dblclick()требует привязки к команде, возвращающей DOM-элемент(ы).
Утверждения
-
.dblclick()автоматически ожидает, пока элемент станет работоспособным. -
.dblclick()автоматически повторяется, пока не пройдут все привязанные утверждения.
Таймауты
-
.dblclick()может ожидать достижения элементом работоспособности с таймаутом. -
.dblclick()может ожидать прохождения добавленных утверждений с таймаутом.
Журнал команд
Двойной щелчок по div
cy.get('.action-div').dblclick()
Приведённые выше команды будут отображаться в Журнале команд следующим образом:
При нажатии на dblclick в журнале команд, консоль выводит следующее:
История
| Версия | Изменения |
|---|---|
| 6.1.0 | Добавлена опция scrollBehavior
|
| 3.5.0 | Добавлена поддержка опций force и multiple. |
| 3.5.0 | Добавлена поддержка аргументов position, x, и y . |
| 3.5.0 | Добавлена возможность отправки mouseover, mousemove, mouseout, pointerdown, pointerup, и pointermove во время .dblclick(). |
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/dblclick