AutoIt тестирование Eclipse RCP - PullRequest
6 голосов
/ 24 января 2012

Я борюсь с регрессионными тестами AutoIt. AutoIt был выбран, потому что требованием является 100% тестирование GUI черного ящика (без вмешательства в тестируемый проект). Это решение, тем не менее, имеет некоторые проблемы, с которыми мне нужна помощь.

  • Изменение вкладок в приложении - поскольку класс графического интерфейса не SysTabControl32, а SWT_Window, пример кода из GUITab.au3 UDF не работает. Текущее решение фокусируется на компоненте, а затем перемещается по вкладкам с помощью клавиш со стрелками. Это плохо влияет на производительность теста (и я даже не хочу представить, что в будущем некоторые вкладки будут отключены).

  • Тайм-ауты - Когда вкладки меняются, тесты должны быть отложены, прежде чем они могут продолжаться. Чем короче задержка, тем больше вероятность провала теста (приложение не было готово к продолжению теста). Это приводит к большим задержкам перед действиями.

  • Номера экземпляров - Идентификация экземпляров элементов управления является проблемой. Когда я написал несколько тестовых кнопок OK, у них был номер экземпляра 9. Когда некоторые кнопки были добавлены в форму, мне пришлось переписать тест, потому что из-за этого изменился номер экземпляра кнопки OK.

Эти три наиболее важны.

Изменить технологию тестирования будет сложно из-за большого количества уже написанных тестов. Но я хотел бы написать новый тест лучше. У Sikuli есть проблемы с получением текста с экрана, а SWTBot имеет зависимости в тестируемых проектах.

Наши тесты выполняются в течение 20 часов, и при изменении макета графического интерфейса мне нужно редактировать почти каждый тест (проблема номера экземпляра). Кто-нибудь может предложить решение или обходной путь для сверхнадежного тестирования черного ящика?

...