Общее:
Такой распространенный подход к использованию шаблона проектирования Модель объекта страницы (POM) не вполне осуществим с AutoIt.Конечно, вы можете создать структуру объекта и с AutoIt, но она не предназначена для языка.В любом случае, некоторые из целей POM могут быть достигнуты с помощью следующего примера предложения структуры теста.
Обратите внимание:
Поскольку вы не предоставляете достаточно информациио вашем тестируемом приложении (AUT) , я объясню базовую структуру.Реализация зависит от вашего приложения (SWING / RCP, WinForm и т. Д.).Также важно, какая поддержка инструмента вам нужна для распознавания объектов страницы.Помимо WinForm , который может управляться функциями ControlCommand
в AutoIt, это правильный способ использовать UIASpy или au3_uiautomation в качестве вспомогательных инструментов.
Преимущество знать структуру POM в контексте с Selenium.Обычно я включаю описание тестового примера с поведенческой разработкой BDD (синтаксис Gherkin с Cucumber или SpecFlow), но здесь это не будет частью этого примера.
Структура примера:
Структура состоит из двух тестируемых приложений Calc и VlcPlayer .Оба следуют общей структуре PageObjects и Тесты .Вы должны попытаться разделить объекты вашей страницы (файлы) во многих подпапках, чтобы сохранить обзор.Эта подструктура должна быть аналогичной для папок / подпапок Tests .
В области Tests вы можете включить несколько этапов или категорий тестов в зависимости от целей тестирования (Acceptance)/ UI тесты, просто функциональные тесты на дым и так далее).Также рекомендуется контролировать порядок выполнения с помощью отдельного файла-оболочки TestCaseExecutionOrder.au3 .Это должно существовать для всех категорий тестов, чтобы избежать их смешивания.
Этот файл оболочки au3 содержит вызовы функций, это начало / контроль обработки.
Описание подхода:
В тестовых случаях должны быть только #include
необходимые файлы (этапы тестирования).Шаги тестирования должны также только #include
необходимые файлы (объекты страницы) и так далее.Таким образом, можно настроить функции распознавания один раз и использовать их на соответствующих этапах тестирования.
Вывод:
Конечно, это сложно объяснить таким образом, но с этим подходом вы можете сделать то же самое, что и в Selenium для веб-тестирования .Обратите внимание, что вам должным образом приходится часто использовать Global
переменные.Вы должны убедиться в правильности , включая , и не потерять обзор своего теста, который намного проще в подходах, основанных на тестах ООП.
Я рекомендую использовать VS Code, потому чтовы можете переходить от файла к файлу с помощью # include .Это очень удобно.
Надеюсь, это поможет вам.