я буду использовать robotframework для тестирования приложения, которые используют библиотеку Сенча ExtJS, моя проблема заключается в том, что с этой библиотекой идентификаторы генерируются динамически каждый раз, когда это добавлять новые компоненты, поэтому мой robotframework скрипт изменит но это плохая идея. кто-то сказал мне, что другие тестовые рамки у него есть плагины для этой задачи, но я не могу найти их в robotframework. благодарит заранее.robotframework с Сенча ExtJS
ответ
Это не отличное решение, поэтому, надеюсь, кто-то еще сможет найти плагин или что-то, что легко реализовать. Однако, если вы не найдете другого способа, вы можете предоставить каждому из своих элементов Ext.js идентификатор вручную, установив для свойства «id» на каждый из ваших элементов уникальный идентификатор самостоятельно. Это не займет слишком много работы, и если вы назовете им что-то, что действительно связано с тем, что они есть, это сделает идентификатор более понятным для человека.
Из документов Сенча:
ID: String
Уникальный идентификатор этого экземпляра компонента.
Не следует использовать эту конфигурацию, за исключением одиночных объектов в приложении. Компоненты, созданные с идентификатором, могут быть доступны глобально, используя Ext.getCmp.
Вместо использования назначенных идентификаторов используйте конфигурацию itemId и ComponentQuery, которая обеспечивает выборочный поиск компонентов Sencha, аналогичных запросу DOM. Класс Container содержит методы ярлыков для запроса своих дочерних компонентов по селектору.
Обратите внимание, что этот идентификатор также будет использоваться как идентификатор элемента для содержащего HTML-элемента, который отображается на странице этого компонента. Это позволяет вам писать правила CSS на основе идентификатора, чтобы однозначно идентифицировать конкретный экземпляр этого компонента, а также выбирать подэлементы, используя идентификатор этого компонента в качестве родителя.
Источник: http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.AbstractComponent-cfg-id
Есть много способов доступа к элементам на странице, используя идентификатор только один путь. Предполагая, что вы используете Selenium2Library, вы можете использовать любого из следующих стратегий локаторов (от Selenium2Library documentation):
Strategy Example Description
--------------- --------------------------------------- ---------------------------------
identifier Click Element | identifier=my_element Matches by @id or @name attribute
id Click Element | id=my_element Matches by @id attribute
name Click Element | name=my_element Matches by @name attribute
xpath Click Element | xpath=//div[@id='my_element'] Matches with arbitrary XPath expression
dom Click Element | dom=document.images[56] Matches with arbitrary DOM express
link Click Element | link=My Link Matches anchor elements by their link text
partial link Click Element | partial link=y Lin Matches anchor elements by their partial link text
css Click Element | css=div.my_class Matches by CSS selector
jquery Click Element | jquery=div.my_class Matches by jQuery/sizzle selector
sizzle Click Element | sizzle=div.my_class Matches by jQuery/sizzle selector
tag Click Element | tag=div Matches by HTML tag name
default* Click Link | default=page?a=b Matches key attributes with value after first '='
Обратите внимание, что даже если некоторые примеры (например, XPath) показывают использование идентификатора, идентификатор может не требуется строго (за исключением, очевидно, для id = и identifier =). xpath обычно является стратегией последнего, потому что вы можете ссылаться почти на что угодно в документе. Для получения дополнительной информации о xpath вы можете начать здесь: http://en.wikipedia.org/wiki/XPath
С выпуском Selenium2Library 1.7 пользователи теперь могут создавать свои собственные локаторы. Вы можете использовать это, чтобы создать схему расположения, основанную на компоненте запроса ext. Пока общая структура приложения не так сильно изменится, этого может быть достаточно. Для получения дополнительной информации о пользовательских локаторах см. Selenium2Library docs.
Я запустил дополнительную библиотеку для S2L на github, которую вы можете проверить для справки, но она еще не закончена.
Кроме того, Ext позволяет размещать уникальные идентификаторы компонентов, просто указывая атрибут id.Я бы рекомендовал применять идентификаторы ко всем элементам, с которыми вы хотите взаимодействовать, посредством своих тестов, тем самым устраняя необходимость в сложном поведении для автоматизации интерфейса.
- 1. Связывание данных Пример ExtJS Сенча
- 2. ExtJS сетки после блокировки ошибки Сенча построить
- 3. Мастер - Деталь Char в Сенча ExtJS 4.0
- 4. как построить reponsiveApp пример ExtJS 5.0.1 с помощью Сенча ЦМД
- 5. Extjs 4,2 - градиент фон для меню с помощью Сенча ЦМД
- 6. выполнить javascript в robotframework с selenium2library
- 7. Сенча архитектор использовать Ext.ux.ToolbarDroppable
- 8. Упаковка приложение Сенча сенсорный с Сенча ЦМД
- 9. Сенча-тестирование Сенча с помощью Chrome
- 10. интеграция testlink с robotframework
- 11. Robotframework: как использовать JSONP в robotframework сценарии
- 12. Сенча Touch/ExtJS: Плиточный вид прокрутки (как CATiledLayer)
- 13. Сенча ExtJS MVC - источник данных, заданный во время выполнения
- 14. Сенча ExtJS 4 - Основные привет мир демо вопросы
- 15. фокус событий и не KeyUp поддержки на Android Сенча ExtJS
- 16. Сенча построить не удалось по ExtJS 6 для современной темы
- 17. RemoteSwingLIbrary RobotFramework
- 18. Выполнение теста robotframework с phantomJs
- 19. Тестирование Копирование/вставка с RobotFramework
- 20. JSON Синтаксический с Robotframework-httplibrary.HTTP
- 21. Макет с Сенча Touch
- 22. Поле с изображением сенча
- 23. Сенча сенсорные диаграммы всплывающая подсказка
- 24. Использование веб-рабочих с Сенча Touch, 2
- 25. Сенча Ext, изменение столбца текста
- 26. Сенча: не может удовлетворить требования к «доб»
- 27. Сенча сенсорный добавить функцию Сенча компонент
- 28. Сенча сенсорный Сенча Cmd строить не обновляя
- 29. Сенча + PhoneGap
- 30. Выберите опцию robotframework
Рассмотрите возможность использования [Siesta] (http://www.bryntum.com/products/siesta/). Ни в коем случае не добавляйте ручные идентификаторы. – Saki