Автоматическая обработка - автоматизация приложений - PullRequest
2 голосов
/ 09 февраля 2009

Я ищу информацию [стесняюсь выводить «Рекомендации»] для автоматизации приложений. Я специально имею в виду замену того, что предсказуемо повторяется с помощью традиционных ручных средств [людей, манипулирующих GUI], на что-то, что запланировано Пользователем и выполнено «Автоматически».

Мы используем AutoIT внутри для выполнения Автоматического тестирования и рассматриваем тот же подход для обеспечения автоматической обработки наших приложений, но мы неохотно из-за возможности "случайного" взаимодействия пользователя с Приложением параллельно с выполнением запланированной «автоматизации» и, следовательно, «ломкой» автоматизации.

Стесняется встроить наш собственный планировщик с известными событиями и фиксированными аргументами для управления предопределенным набором действий, какие подходы мне следует оценить / рассмотреть и какие инструменты потребуются?

Дополнительная информация: Некоторые называют эту возможность «пакетной обработкой» в контексте приложения.

Ответы [ 3 ]

2 голосов
/ 09 февраля 2009

Как правило, автоматизировать пользовательский интерфейс опасно. Это может быть полезным хаком для краткосрочной проблемы: я использую AutoHotKey для выполнения некоторых утомительных задач в некоторых ситуациях ... но только если задача не достойна написания кода для реализации изменения (например, один раз, 15 минутное задание).

В противном случае вы, скорее всего, будете страдать от непоследовательных запусков из-за запаздывающего отклика некоторых экранов, непоследовательных интерфейсов и т. Д. Большинство приложений имеют доступный API, и его использование будет гораздо более болезненным, чем его приобретение и использование в % случаев.

В неудачной, но возможной ситуации, когда пользовательский интерфейс отсутствует, и вы сводитесь к очистке экрана / манипулированию экраном, инструмент, который выполняет автоматическое тестирование, вероятно, так же хорош, как и вы. Это позволяет вам проверять состояние приложения (в некоторой степени) и, таким образом, может создавать некоторые защитные сети. Кроме того, я бы посвятил рабочую станцию ​​для этой задачи ... с заблокированной клавиатурой и мышью от любопытных пользователей. (Для этого хорошо подходит подключение к удаленному рабочему столу или в стиле VNC: вы можете запустить процесс и отключиться, сделав его устойчивым к фальсификации.)

Однако я бы рассматривал этот подход только в качестве крайней меры. Манипулирование API намного, далеко, далеко, далеко (я получил достаточно «фарсов»?) Более устойчиво.

0 голосов
/ 26 февраля 2009

Godeke и Dave абсолютно правы, что, если доступно, API - лучший маршрут. Однако практически это иногда невозможно, и вам нужно идти по пути автоматизации графического интерфейса. В дополнение к ранее упомянутым выделенным рабочим станциям для автоматизации я рекомендую кодировать в некоторых контрольных журналах, чтобы было легче отлаживать или возвращать их в случае возникновения проблем. Ваша автоматизация пакетной обработки должна вести подробный журнал того, какие записи были обработаны, когда они были обработаны и как они были обработаны. Вы должны настроить его так, чтобы сами записи (в собственном приложении) отражали, что он был обновлен / обработан с помощью автоматизации. Например, если каждая запись имеет обновляемое поле примечаний / комментариев, автоматизация должна добавить текст в это поле, например «Обработано пользователем автоматизации, 2009-02-25 10:05:11 AM, поле« Счет »изменено с« ABC123 »на« DEF456 '"Таким образом, автоматические моды будут легко заметны пользователю, вручную загружающему запись в графическом интерфейсе.

0 голосов
/ 09 февраля 2009

Если я правильно понимаю, вы хотите выполнить автоматизированную обработку с помощью некоторого инструмента, который выполнит предварительно определенный список действий в данной программной системе. Это отличается от автоматизированного тестирования .

Я бы настоятельно рекомендовал вам не использовать инструменты, предназначенные для тестирования, для выполнения обработки. Многие основные программные системы имеют открытые API, которые можно использовать для выполнения действий без непосредственного взаимодействия с пользователем. Это гораздо более надежный и надежный способ планирования автоматизированных процессов. Обратитесь к поставщику программного обеспечения, с которым вы работаете, иногда API доступны по запросу.

...