Selenium в текстовых полях, запускающих события, способ имитировать человеческое взаимодействие

Я пытаюсь протестировать веб-страницу в селене, созданную с использованием angularjs. На этой странице находятся текстовые поля, которые пользователь будет заполнять. Когда пользователь вводит текстовые поля, angular будет улавливать каждое нажатие клавиши и отображать предварительный просмотр на лету точно так же, как заполнение вопроса stackoverflow создает предварительный просмотр.:)

Моя проблема в том, что я не могу понять, как это проверить. Если я нажму на текстовое поле и наберу, это сработает. Я пробовал команду типа selenium, команду typeKeys, используя команды mousedown и mouseup, а затем typeKeys, чтобы попытаться имитировать ввод текста пользователем. Но они не работают, как будто обработчики событий не запускаются. Мне нужно имитировать то, как человек печатает, чтобы события срабатывали. Вот о чем я думаю, но это не работает.

<tr>
  <td>mouseDown</td>
  <td>name=appName</td>
  <td></td>
</tr>
<tr>
  <td>mouseUp</td>
  <td>name=appName</td>
  <td></td>
</tr>
<tr>
  <td>typeKeys</td>
  <td>name=appName</td>
  <td>foobar</td>
</tr>

Если есть способ использовать javascript, это тоже будет приемлемо. Спасибо.

5
задан Scott Price 23 July 2012 в 21:32
поделиться