Я писал тестирование автоматизации (в Selenium2 Java, Firefox 3.6) приложения, которое использует большое количество ExtJS.Мне удалось обойти мощные идентификаторы морфируемых элементов, но на одной странице поведение кода поставило меня в тупик.Существует текстовое поле, в котором можно указать имя пользователя.Он не кликабелен, пока не нажата кнопка редактирования, а затем Firebug может найти текстовое поле.Если текст введен, а затем сохранен, текст отображается на странице, но не отображается нигде в HTML-коде.Даже если нажать кнопку редактирования еще раз, чтобы сделать текстовое поле доступным, я не могу получить значение текстового поля.Это код для метки и текстового поля в режиме редактирования:
<div class="x-form-item " tabindex="-1">
<label class="x-form-item-label" style="width: 250px;" for="ext-comp-1022">Interface Username:</label>
<div id="x-form-el-ext-comp-1022" class="x-form-element" style="padding-left: 255px;">
<input id="ext-comp-1022" class=" x-form-text x-form-field " type="text" name="interfaceUsername" autocomplete="off" size="20" style="width: 292px;">
</div>
Обратите внимание, что метка «Имя пользователя:» отображается в HTML должным образом, но для самого текстового поля ничего нет.Я подозреваю, что вызов javascript получает и отображает текст в текстовом поле, но я совсем не знаком с ExtJS.Я проверил этот пост , но это не относится к получению текста, в основном только к проблеме смены идентификатора.Итак, я хотел бы понять, как выяснить, какой скрипт вызывается, и как использовать executeScript для захвата текста текстового поля вместе с ним.Я могу вводить текст в поле с помощью Selenium, сохранять его с помощью Selenium и видеть его на странице в виде глазного яблока, поэтому у меня не возникает проблем с самим кодом Selenium, определяющим местонахождение элемента.
Спасибо,Сабрина