Запустите IE из службы Windows (более или менее) - PullRequest
1 голос
/ 18 марта 2009

Я хочу использовать CruiseControl.net в качестве службы и заставить его запустить тестер Fitnesse в качестве задачи для запуска группы приемочных тестов с использованием приспособления watin, которое запускает IE. Ох, и я хочу сделать все это на виртуальном сервере.

Все вышеперечисленное работает нормально, если я не использую CC.Net как службу (т. Е. Войдите на сервер через удаленный рабочий стол и запустите CCNet.exe с рабочего стола).

Я почти уверен, что просто пометить службу CC.Net как «разрешить взаимодействие с рабочим столом» будет недостаточно (это виртуальный сервер, поэтому может даже не быть winstation0). Хотя я специально не пробовал это (в прошлом я пробовал запускать Fitnesse как сервис, и он не мог запустить IE через приспособление watin ... так что я довольно уверен, что больше будет «разрешить взаимодействие с рабочим столом» требуется).

Я думаю, мне понадобится .exe, который может создать рабочую станцию, войти в систему под определенным пользователем, а затем запустить IE (на самом деле, может быть, просто shellexecute, поэтому я не буду ограничиваться только ie).

Кто-нибудь делал что-нибудь подобное в прошлом? Какие-то конкретные подводные камни? Это стоит делать ... или я должен просто сделать удаленный рабочий стол и затем отключиться?

Обратите внимание, что общая цель здесь - создать надежный процесс CC.Net, который вызывает Fitnesse, который в свою очередь вызывает IE.

Ответы [ 2 ]

1 голос
/ 01 октября 2009

По моему опыту, вам нужно, чтобы кто-то вошел в систему на консоли, чтобы IE мог запускаться из службы.

Если это выполняется на сервере в безопасном месте, вы можете просто установить автоматический вход в систему, как описано в этой статье http://support.microsoft.com/kb/324737

Если вы хотите быть немного умнее, вы можете настроить задачу автоматического запуска, которая также будет блокировать машину при запуске. http://forums.techarena.in/windows-xp-support/621461.htm

Единственное исключение из этого, которое я нашел, - это SWEA (http://webiussoft.com/) "SWEA автоматизирует веб-браузер и предоставляет решение для автоматизации функциональных и регрессионных тестов."

Мы запускаем тесты SWEA на нашем сервере сборки, на котором запущен CruiseControl.NET в качестве службы.

Понятия не имею, почему SWEA может работать как сервис, а больше ничего не может: - (

0 голосов
/ 03 апреля 2009

Вы также можете запустить CC.Net из командной строки (вместо того, чтобы запускать его как службу). Прекрасно работает.

...