Я использую набор тестов WatiN, управляющих IE, чтобы периодически проверять работоспособность с целью мониторинга сайта.
Пакет работает нормально, когда я вызываю его в интерактивном режиме и / или когда я настраиваю задачу в планировщике задач на «Запускать только тогда, когда пользователь вошел в систему».
Однако, когда я устанавливаю его на «Запускать независимо от того, вошел ли пользователь в систему или нет» и проверяю опцию «Запускать с наивысшими привилегиями» (WatiN не может нормально взаимодействовать с браузером под Windows Server 2008 и многих других ОС без администратора привилегии), WatiN не может удовлетворительно взаимодействовать с его экземплярами iexplore.exe (они запускаются, но я получаю исключение тайм-аута, как описано в этом сообщении). Я добавил сайт, на который я обращаюсь, в список надежных сайтов как для административного, так и для неадминистративного контекста IE. Я пробовал с повышением прав и без него, с отключением ESC и без него, а также с отключением и без отключения защищенного режима для зоны Интернета. Поскольку мои тесты, не связанные с графическим интерфейсом пользователя, устраивают, я предполагаю, что это ограничение типа интерактивности, которое возможно в контексте неинтерактивной запланированной задачи, даже если «Запускать с наивысшими привилегиями».
Прямо сейчас мой временный обходной путь состоит в том, чтобы требовать, чтобы сеанс [TS] всегда оставался открытым, готовым к запуску запланированной задачи.
Если бы я настаивал на этом, я бы как минимум добавил уведомление о пульсе, чтобы позволить чему-либо отслеживать, что задача действительно запускается [например, если кто-то выйдет из сеанса или перезагрузит компьютер].
Однако я ищу что-то более постоянное - что-то, что способно регулярно вызывать мои тесты WatiN [запускать с использованием xunit-console.x86.exe v 1.5] в моем окне Windows Server 2008 [x64], точно так же, как планировщик задач, но с правильным интерактивным сеансом.
Я бы предпочел не использовать psexec или remcom, если это возможно, и не вижу, как создание службы Windows может сделать что-либо, кроме добавления еще одной точки отказа, но мне было бы интересно услышать обо всех проверенных решениях.