2015-08-06 5 views
0

У меня есть вопросы по автоматизации тестовых примеров приложения ExtJS с использованием веб-ресивера Selenium.Автоматизация тестирования ExtJS с использованием Selenium Webdriver

Два года назад меня попросили автоматизировать одно и то же приложение ExtJS с помощью HP UFT. Я сделал это, разработав пользовательскую надстройку UFT для компонентов ExtJS. Теперь меня просят продолжить автоматизацию, но с помощью selenium webdriver, а не UFT. Сегодня я попробовал несколько элементов управления, и я вижу, что Selenium не распознает несколько элементов управления, таких как узел дерева ExtJS, вкладку ExtJS и т. Д., Используя xpath.

Я вижу, что firepath возвращает меня к правильному управлению, когда я ввожу в него значение локатора. Но если я использую то же значение локатора в своем Java-коде, я получаю исключение nosuchelement, созданное Selenium.

Вот мой код, чтобы выбрать конкретный узел в списке.

<div> 
    <span class="x-tree-node-text">Circuit</span> 
</div> 

By.xpath("//span[contains(text(),'Circuit')])[1]") // there are two circuits like 

Является ли моя задача автоматизации использования Selenium жесткой? Я узнал только Java. Должен ли я изучать новые технологии для автоматизации этого приложения?

Пожалуйста, дайте мне знать.

ответ

0

ExtJS - это животное, когда дело доходит до автоматизации с селеном. Я сделал несколько приложений ExtJS с помощью не только CSS и jquery-селекторов. Жасмин - рекомендуемый подход, но я не исследовал его, поскольку я не нашел нужды. Если вы включите библиотеку sizzle, это позволит вам использовать селектора jquery, которые очень полезны. Чтобы выбрать элемент, снабженный JQuery было бы:

$("span.x-tree-node-text:contains('Circuit')") 

Я на своем телефоне и не может предоставить ссылки, но взглянуть на добавление шипение к вашей структуре. Это значительно улучшит ваш успех, автоматизируя ExtJS.

Ваш предоставленный селектор не работает, потому что вы указываете id для div/span без id.

Я также столкнулся с проблемами времени с ExtJS, где Selenium не ждал, пока дом закончит загрузку, прежде чем он начнет раздуваться. Решение было добавить ожидание ExpectedConditions.visibilityofElementLocated.

+0

Извините, я чувствовала сонливость, когда я разместил вопрос. Это был не идентификатор, а мой xpath в приведенном выше фрагменте кода By.xpath (// span [содержит (текст(), «Circuit»)]) [1]. –

Смежные вопросы