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

Фотография

Selenium 2.0 - имитация нажатия клавиши caps lock


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

#1 Lace

Lace

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

  • Members
  • Pip
  • 48 сообщений

Отправлено 06 февраля 2013 - 13:58

Такая проблема. В приемочных требованиях клиента есть требование проверки того, что при включенном Caps Lock при вводе имени или пароля появляется предупреждающее сообщение.
Я уже прочитала, что в Selenium невозможно нажать Caps Lock стандартными методами.

Нашла следующий вариант как включить Caps Lock:
public void click_on_Caps_Lock() throws Exception {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, Boolean.TRUE);
Caps Lock действительно включается, но Selenium его все равно не видит. Т.е. продолжает набирать пароль, как раньше. (Я работаю с фреймворком Thusydis, поэтому данный шаг теста выглядит так):
public void try_login_with_caps_lock_on() throws Exception {
	LoginPage page = getPages().currentPageAt(LoginPage.class);
	page.click_on_Caps_Lock();
	page.enter_Name("auto");
	page.confirm_Caps_Lock_warning_message();

пробовала вводить пароль побуквенно - т.е. page.enter_Name("a"); page.enter_Name("u"). Большие и маленькие буквы - все одинаково. Selenium не видит нажатый Caps_Lock и соответственно страница не показывает предупреждение. Тест валится.

Буду благодарна за любые идеи и советы как решить эту задачку
  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 07 февраля 2013 - 07:40

Такая проблема. В приемочных требованиях клиента есть требование проверки того, что при включенном Caps Lock при вводе имени или пароля появляется предупреждающее сообщение.
Я уже прочитала, что в Selenium невозможно нажать Caps Lock стандартными методами.

Нашла следующий вариант как включить Caps Lock:

public void click_on_Caps_Lock() throws Exception {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, Boolean.TRUE);
Caps Lock действительно включается, но Selenium его все равно не видит. Т.е. продолжает набирать пароль, как раньше. (Я работаю с фреймворком Thusydis, поэтому данный шаг теста выглядит так):
public void try_login_with_caps_lock_on() throws Exception {
	LoginPage page = getPages().currentPageAt(LoginPage.class);
	page.click_on_Caps_Lock();
	page.enter_Name("auto");
	page.confirm_Caps_Lock_warning_message();

пробовала вводить пароль побуквенно - т.е. page.enter_Name("a"); page.enter_Name("u"). Большие и маленькие буквы - все одинаково. Selenium не видит нажатый Caps_Lock и соответственно страница не показывает предупреждение. Тест валится.

Буду благодарна за любые идеи и советы как решить эту задачку


page.enter_Name("auto".toUpperCase());

То, что selenium не реагирует при вводе текста на такие вещи как Shift и CapsLock вполне нормально. Иначе вы бы замучились с раскладкой (ru, en, etc) при тестировании.
  • 0

#3 Lace

Lace

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

  • Members
  • Pip
  • 48 сообщений

Отправлено 07 февраля 2013 - 10:19

page.enter_Name("auto".toUpperCase());

То, что selenium не реагирует при вводе текста на такие вещи как Shift и CapsLock вполне нормально. Иначе вы бы замучились с раскладкой (ru, en, etc) при тестировании.


Тоже не работает. Пароль набирается большими буквами, но страница не выдает предупреждающее сообщение.
В имени пользователя могут быть заглавные буквы. Предупреждение выдается только на нажатый Caps Lock.
  • 0

#4 achumagin

achumagin

    Активный участник

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 07 февраля 2013 - 10:45


page.enter_Name("auto".toUpperCase());

То, что selenium не реагирует при вводе текста на такие вещи как Shift и CapsLock вполне нормально. Иначе вы бы замучились с раскладкой (ru, en, etc) при тестировании.


Тоже не работает. Пароль набирается большими буквами, но страница не выдает предупреждающее сообщение.
В имени пользователя могут быть заглавные буквы. Предупреждение выдается только на нажатый Caps Lock.


вы можете дать ссылку на сайт?
  • 0
ap-test-team.blogspot.com

#5 Lace

Lace

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

  • Members
  • Pip
  • 48 сообщений

Отправлено 07 февраля 2013 - 11:45

вы можете дать ссылку на сайт?


К сожалению - нет. Работодатель категорически запрещает это делать...
  • 0

#6 achumagin

achumagin

    Активный участник

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 07 февраля 2013 - 12:06


вы можете дать ссылку на сайт?


К сожалению - нет. Работодатель категорически запрещает это делать...


Возможно вам стоит отказаться от тестирование этой фичи через ui. и работать непосредственно с javascript. т.е. сгенерировать событие после которого эта надпись появится. Идея понятна?
  • 0
ap-test-team.blogspot.com

#7 Lace

Lace

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

  • Members
  • Pip
  • 48 сообщений

Отправлено 07 февраля 2013 - 13:21

Да, спасибо...
  • 0

#8 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 07 февраля 2013 - 15:29

Как вариант можно попробовать вызывать JNI методы, но это гемор геморный
  • 0


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

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