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.
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()
Вышеприведенные команды будут отображаться в журнале команд следующим образом:
При нажатии на rightclick в журнале команд консоль выведет следующее:
История
| Версия | Изменения |
|---|---|
| 6.1.0 | Добавлена опция scrollBehavior
|
| 3.5.0 | Добавлена команда .rightclick() |
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/rightclick