Селен 2 и нажатие клавиши - PullRequest
2 голосов
/ 10 марта 2011

Я только что обновился до Selenium 2 и у меня возникли проблемы с имитацией нажатия клавиш в Firefox (может быть, в других браузерах?).Прежде всего, новый API, использующий IWebDrivers, не предоставляет функции нажатия клавиш.Я могу получить экземпляр ISelenium с функциями 1.0 API (WebDriverBackedSelenium), однако при использовании этого сообщения я получаю сообщение об ошибке.Например,

new WebDriverBackedSelenium(driver, TestServerUrl).KeyDownNative("27");

приводит к

System.NotSupportedException: keyDownNative

То же самое относится к KeyDown, KeyPress и т. Д. Не поддерживается ли это вSelenium v2?

Заранее спасибо!

/ Джаспер

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Хорошо, так что будущий читатель - я прочитал некоторую документацию ThoughtWorks, а Selenium v2 API еще не совсем реализован.

Так что обратите внимание на себя - большая разница между v1 и v2 и v2 API реализована не полностью.

0 голосов
/ 01 марта 2012

Чтобы отправить нажатия клавиш на WebElement с помощью Selenium 2 (т.е. в поле ввода), вы можете сделать следующее:

// Retrieve the required WebElement object of interest //
WebElement myElement = getWebelement();

// send some chars
myElement.sendKeys("Some Test Text");

Также, чтобы удалить текст из WebElement (т.е. поле ввода) вы можете сделать следующее:

String BACK_SPACE_UNICODE_CODE = "\u0008";

WebElement inputElement = getWebelement();
String currentValue = inputElement.getAttribute("value");

if (!"".equals(currentValue))
{
    for (int count=0;count< currentValue.length();count++)
    {
        inputElement.sendKeys(BACK_SPACE_UNICODE_CODE);
    }            
}

Вероятно, лучше всего поместить этот код в функцию, чтобы его можно было использовать в ваших тестах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...