Spec-Zone.ru › Cypress

rightclick

Нажмите правой кнопкой мыши на элемент DOM.

.rightclick() не откроет контекстные меню, встроенные в браузер. .rightclick() следует использовать для проверки обработки вашего приложения событий, связанных с правым кликом, таких как contextmenu.

Синтаксис

.rightclick()
.rightclick(options)
.rightclick(position)
.rightclick(position, options)
.rightclick(x, y)
.rightclick(x, y, options)

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

Правильное использование

cy.get('.menu').rightclick() // Right click on .menu
cy.focused().rightclick() // Right click on el with focus
cy.contains('Today').rightclick() // Right click on first el containing 'Today'

Неправильное использование

cy.rightclick('button') // Errors, cannot be chained off 'cy'
cy.window().rightclick() // Errors, 'window' does not yield DOM element

Аргументы

position (Строка)

Позиция, в которой должен быть выполнен правый клик. Позиция center — это позиция по умолчанию. Допустимые позиции: topLeft, top, topRight, left, center, right, bottomLeft, bottom, и bottomRight.

cypress-command-positions-diagram

x (Число)

Расстояние в пикселях от левого края элемента до места нажатия правой кнопкой мыши.

y (Число)

Расстояние в пикселях от верхнего края элемента до места нажатия правой кнопкой мыши.

options (Объект)

Передайте объект options, чтобы изменить поведение .rightclick() по умолчанию.

Опция Значение по умолчанию Описание
altKey false Активирует клавишу Alt (клавишу Option на Mac). Псевдонимы: optionKey.
animationDistanceThreshold animationDistanceThreshold Расстояние в пикселях, которое элемент должен превысить со временем, чтобы считаться анимирующимся. См. анимации.
ctrlKey false Активирует клавишу Ctrl. Псевдонимы: controlKey.
force false Вынуждает выполнение действия, отключает ожидание действия.
log true Отображает команду в Журнале команд
metaKey false Активирует клавишу Meta (клавиша Windows или клавиша Command на Mac). Псевдонимы: commandKey, cmdKey.
multiple false Последовательно нажимает на несколько элементов.
scrollBehavior scrollBehavior Позиция области просмотра, до которой должен быть прокручен элемент перед выполнением команды. Прокрутка.
shiftKey false Активирует клавишу Shift.
timeout defaultCommandTimeout Время ожидания разрешения .rightclick() перед выходом за пределы таймаута
waitForAnimations waitForAnimations Ожидать завершения анимации элементов перед выполнением команды. Анимации.

Возвращаемые значения

  • .rightclick() возвращает тот же объект, который был предоставлен предыдущей командой.

Примеры

Без аргументов

Нажатие правой кнопкой мыши по меню

cy.get('#open-menu').rightclick()

Позиция

Указание угла элемента для нажатия правой кнопкой мыши

Нажатие правой кнопкой мыши в правом верхнем углу элемента DOM.

cy.get('#open-menu').rightclick('topRight')

Координаты

Указание явных координат относительно левого верхнего угла

Правый клик ниже будет выполнен внутри элемента (15 пикселей от левого края и 40 пикселей от верхнего края).

cy.get('#open-menu').rightclick(15, 40)

Опции

Вынужденное нажатие правой кнопкой мыши независимо от его состояния готовности к действию

Вынужденный правый клик игнорирует проверки на готовность к действию, которые применяет Cypress, и автоматически запускает события.

cy.get('#open-menu').rightclick({ force: true })

Вынужденное нажатие правой кнопкой мыши с аргументом позиции

cy.get('#open-menu').rightclick('bottomLeft', { force: true })

Вынужденное нажатие правой кнопкой мыши с относительными координатами

cy.get('#open-menu').rightclick(5, 60, { force: true })

Нажатие правой кнопкой мыши на все кнопки, найденные на странице

По умолчанию, Cypress выведет ошибку, если вы пытаетесь нажать правой кнопкой мыши на несколько элементов. Передав { multiple: true }, Cypress поочередно применит правый клик к каждому элементу и также запишет в Журнал команд несколько записей.

cy.get('.open-menu').rightclick({ multiple: true })

Нажатие правой кнопкой мыши с комбинациями клавиш

Команда .rightclick() также может быть запущена с модификаторами клавиш, чтобы смоделировать одновременное удержание комбинации клавиш при нажатии правой кнопкой мыши, таких как ALT + rightclick.

Вы также можете использовать комбинации клавиш во время .type(). Это предлагает варианты удержания клавиш на протяжении нескольких команд. Подробнее см. Комбинации клавиш.

Следующие клавиши можно комбинировать с .rightclick() через options.

Опция Примечания
altKey Активирует клавишу Alt (клавишу Option на Mac). Псевдонимы: optionKey.
ctrlKey Активирует клавишу Ctrl. Псевдонимы: controlKey.
metaKey Активирует клавишу Meta (клавиша Windows или клавиша Command на Mac). Псевдонимы: commandKey, cmdKey.
shiftKey Активирует клавишу Shift.
Команда правого клика
// execute a CMD + right click on the .menu-item
cy.get('.menu-item').rightclick({
  metaKey: true,
})

Примечания

Готовность к действию

Элемент должен сначала достичь состояния готовности к действию

.rightclick() — это "команда действия", которая следует всем правилам готовности к действию.

Правила

Требования

  • .rightclick() требует цепочки команд, возвращающих элемент(ы) DOM.

Утверждения

  • .rightclick() автоматически ожидает, пока элемент достигнет состояния готовности к действию
  • .rightclick() автоматически повторяется, пока все утверждения в цепочке не пройдут

Таймауты

  • .rightclick() может выйти за пределы таймаута, ожидая, пока элемент достигнет состояния готовности к действию .
  • .rightclick() может выйти за пределы таймаута, ожидая прохождения утверждений, которые вы добавили.

Журнал команд

Нажатие правой кнопкой мыши по элементу DOM

cy.get('.rightclick-action-div').rightclick()

Вышеприведенные команды будут отображаться в журнале команд следующим образом:

Command log for right click

При нажатии на rightclick в журнале команд консоль выведет следующее:

console.log for right click

История

Версия Изменения
6.1.0 Добавлена опция scrollBehavior
3.5.0 Добавлена команда .rightclick()

См. также

  • .click()
  • .dblclick()
  • .trigger()

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/rightclick

Spec-Zone.ru

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