Тестовый контроль + клик с капибарой, селеном, JS - PullRequest
2 голосов
/ 25 января 2012

Я использую возможность выбора jQuery для таблицы, которая требует (кроме лассо) управления + щелчка, чтобы иметь возможность выбирать несколько строк одновременно.

У меня есть обработчик пользовательских событий для выбранногособытие, потому что только когда выбраны 2 или более строк, я хочу, чтобы определенная ссылка была видимой.Я хочу быть в состоянии проверить это, используя Cucumber, Capybara и Selenium.

Проблема в том, что я не нашел способа выбрать более одной строки во время теста.Я не нашел способа удерживать контроль во время щелчка, и нет способа попробовать лассо.Я пытался использовать drag_to, но безрезультатно.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Спасибо.

1 Ответ

1 голос
/ 13 марта 2012

Если я правильно помню, есть команда controlKeyDown Selenium, которая должна удерживать нажатой симулированную клавишу Ctrl до тех пор, пока не будет вызвана команда controlKeyUp.

controlKeyDown ( )
Нажмите клавишу управления и удерживайте ее до вызова doControlUp () или до загрузки новой страницы.

controlKeyUp ( )
Отпустите кнопку управления.

Аналогично, есть команды mouseDown и mouseDownAt, которые делают то же самое с левой кнопкой мыши до тех пор, пока mouseUp.

mouseDown ( locator )
Имитирует пользователя, нажимающего левую кнопку мыши (еще не отпустив ее) на указанном элементе.

mouseDownAt ( locator,coordString )
Имитирует пользователя, нажимающего левую кнопку мыши (еще не отпустив ее) в указанном месте.

mouseMove ( locator )
Имитирует пользователя, нажимающего кнопку мыши (пока не отпустив ее) на указанном элементе.

mouseMoveAt ( locator,coordString )
Имитирует пользователя, нажимающего кнопку мыши (пока не отпустив ее) на указанном элементе.

mouseUp ( locator )
Имитирует событие, которое происходит, когда пользователь отпускает кнопку мыши (т.е. перестает удерживать кнопку нажатой) на указанном элементе.

mouseUpAt ( locator,coordString )
Имитирует событие, которое происходит, когда пользователь отпускает кнопку мыши (т.е. перестает удерживать кнопку нажатой) в указанном месте.

http://release.seleniumhq.org/selenium-core/1.0.1/reference.html

...