Тестирование C # GUI от Continuous Integration - PullRequest
1 голос
/ 08 марта 2012

У меня есть приложение WPF и набор тестовых модулей GUI.Эти тесты загружают приложение, а затем перемещают мышь и нажимают на объекты.Это работает нормально, если я запускаю его во время входа в систему.

Однако, когда тесты выполняются на нашем сервере непрерывной интеграции, мышь всегда сообщает о своем положении как (0,0).Если я скажу мышке переместиться, а затем проверим ее положение, оно все равно (0,0).

У нас запущен сервис с «Разрешить сервису взаимодействовать с рабочим столом», и Environment.UserInteractive имеет значение true.

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

Как использовать мышь во время работы какуслуга?

1 Ответ

1 голос
/ 08 марта 2012

Я думаю, что эта статья может пролить свет на то, почему ваше приложение не получает положение мыши, которое вы ожидаете.Я предполагаю, что вы проводите свои тесты в Vista и более поздних версиях.

Вот что, по-моему, происходит.Ваша служба работает в сеансе 0, который является неинтерактивным сеансом.Таким образом, мыши практически не существует.

Когда вы блокируете свой рабочий стол, Windows переключается на рабочий стол WinLogon и крадет мышь.Ваше приложение, работающее на обычном рабочем столе, больше не имеет мыши для игры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...