2012-03-08 2 views
1

Я тестирую веб-приложение на основе extjs с помощью robotframework и selenium2library, но я не могу найти некоторые элементы, которые содержатся в компоненте таблицы. Selenium2library есть ключевое слово с именем Execute JavaScript, поэтому я хочу, чтобы Kown как я могу выполнить JavaScript, например, как я могу выполнить код JS:выполнить javascript в robotframework с selenium2library

var a=document.getElementById('ext-comp-1155').getElementsByTagName("button"); 
a[0].click(); 

Кто-нибудь есть успешные ExtJS на основе веб-страницы автоматизированных опыт тестирования? Любая помощь будет оценена по достоинству.

ответ

1

Вы должны быть в состоянии выполнить JavaScript, как это

Execute Javascript var a=document.getElementById('ext-comp-1155').getElementsByTagName("button"); a[0].click(); 

Т.е. хотя в javascript есть несколько выражений, вы можете дать им один аргумент, если точки с запятой находятся на месте.

Это может быть немного более удобным для чтения, как это:

${button clicker}= document.getElementById('ext-comp-1155').getElementsByTagName("button")[0].click() 
Execute Javascript ${button clicker} 
+0

Я могу выполнить js в robotframework сейчас, спасибо. Тем не менее, из-за чего я сильно огорчаюсь, что решение выполнения js не работает при автоматическом тестировании веб-приложения на основе extjs. –

0

Если вы не ограничены Селен вы можете посмотреть на RIATest.

Версия 5.0 полностью поддерживает тестирование ExtJS. Виджеты ExtJS UI являются гражданами первого класса в RIATest. Это означает, что в отличие от других инструментов тестирования HTML вам не нужно писать тесты, которые управляют элементами HTML DOM. Тесты в RIATest работают с точки зрения виджета ExtJS UI.

Примеры RIATest сценариев, которые работают с виджетами ExtJS:

Следующие щелчки на кнопке ExtJS с надписью «Следующая страница»:

ExtButton("Next Page")=>click(); 

И следующий же перетащить-н-падение из строки из одного ExtJS дерева к другому:

ExtRow("Controller.js")=>dragAndDropTo(ExtTreePanel("#tree2")->ExtRow("Custom Ext JS")); 

И это сворачивает заголовок коробки ExtJS:

ExtBox("Feeds")->ExtHeader("FeedsВ")->ExtCollapser()=>click(); 

(Все примеры кода выше от реальных тестовых скриптов, работающих на примерах приложений ExtJS).

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

(Отказ от ответственности: Я член команды RIATest).

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