Перейти к содержимому

Фотография

Симуляция зажатого Ctrl в Selenium IDE


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 mosketrem

mosketrem

    Новый участник

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Дмитрий


Отправлено 29 октября 2010 - 16:04

Привет ! Мне тут уже помогли с одной проблемой. Есть еще одна. На сайте, что я покрываю автотестами, есть возможность производить поиск по нескольким тегам сразу. Для этого их нужно выбирать (кликать по ним) с зажатой клавишей Ctrl. Не знаю как это записать в скрипт Selenium IDE. Пробовал использовать комманду keyDown, но Ctrl не имеет ASCII кода, а запись кода для какой-либо литеры с контролом (например 26 для "^Z") не помогает. Что посоветуете ?
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 29 октября 2010 - 16:08

Используйте комбинацию

controlKeyDown() - зажать Ctrl
controlKeyUp() - отпустить Ctrl

А в промежутке между этими вызовами используйте нужные вам команды.

Вообще, рекомендую ознакомитсья со списком команд селениума. Например здесь. Ряд вопросов отпадет сам собой
  • 0

#3 mosketrem

mosketrem

    Новый участник

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Дмитрий


Отправлено 29 октября 2010 - 16:14

Спасибо, видимо я слепой. Потому как знаю об этом списке, но нужную комманду не увидел. Хотя именно её я и искал, и планировал именно так использовать. Спасибо еще раз.
  • 0

#4 mosketrem

mosketrem

    Новый участник

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Дмитрий


Отправлено 29 октября 2010 - 19:33

Хм.... Не помогает controlKeyDown(). Все равно срабатывает обычный клик, без Ctrl. Может еще что-то посоветуете ?
  • 0

#5 mosketrem

mosketrem

    Новый участник

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Дмитрий


Отправлено 30 октября 2010 - 10:22

Нашел !!! Нужно сразу же после controlKeyDown вписать комманду fireEvent | <locator_id> | controlKeyDown. При чем нужный эффект достигается только при использовании обеих комманд. Один вызов события fireEvent не дет нужного результата. Вот только одного не пойму. Зачем в fireEvent локатор ? Т.е. иногда нужно что-то сделать событие связанное с элементом на странице, но не всегда ведь. Т.е. сейчас я ж ни на какой элемент нажать клавишей Ctrl не могу, это абсурд. Но писать в параметры комманды какой-то локатор приходится, иначе не работает. Не понимаю....
  • 0

#6 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 01 ноября 2010 - 14:06

Нашел !!! Нужно сразу же после controlKeyDown вписать комманду fireEvent | <locator_id> | controlKeyDown. При чем нужный эффект достигается только при использовании обеих комманд. Один вызов события fireEvent не дет нужного результата. Вот только одного не пойму. Зачем в fireEvent локатор ? Т.е. иногда нужно что-то сделать событие связанное с элементом на странице, но не всегда ведь. Т.е. сейчас я ж ни на какой элемент нажать клавишей Ctrl не могу, это абсурд. Но писать в параметры комманды какой-то локатор приходится, иначе не работает. Не понимаю....

В селениуме команды обычно не посылаются просто "в эфир". Более того, так или иначе, какой-то элемент это событие все-равно обрабатывает. Если уже совсем нечего указать, то можно воспользоваться локатором на какой-то элемент, который практически всегда есть, например:

/html
  • 0

#7 mosketrem

mosketrem

    Новый участник

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Дмитрий


Отправлено 01 ноября 2010 - 19:46

Ясно. Я использовал в качестве локатора тот элемент, на который нужно кликать одновременно с зажатым Ctrl
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных