Как использовать cassia для создания удаленного сеанса и отправки ввода?

Я знаю, что могу использовать элемент управления ActiveX для удаленного рабочего стола, но я пытаюсь реализовать решение на основе браузера, такое же как browserstack.com и т. Д., Они реализовали то же самое, используя Flash, который подключается к своему серверу, который, в свою очередь, может быть шлюзом rdp.

Я посмотрел на библиотеку Кассия, https://code.google.com/p/cassia/source/browse/trunk/Samples/SessionInfo/Source/SessionInfo/Program.cs, но я не могу понять, как на самом деле захватить экран и отправить ввод после того, как мы позвоним WTSStartRemoteControlSession метод.

Я хочу вызвать эти методы из веб-приложения ASP.NET MVC, в котором в основном хранятся сценарии для автоматического тестирования пользовательского интерфейса. В большинстве случаев никто не будет держать открытым интерфейс пользователя, наш тестовый сервер автоматически создаст сеанс RDP, запустит все и отправит результаты по электронной почте.

Только для записи тестов программисты будут использовать веб-интерфейс, который будет взаимодействовать с сервером исключительно через веб-сокеты и загружать изображения экрана. Использование элемента управления ActiveX невозможно, поскольку мы используем автоматизацию пользовательского интерфейса для захвата текстовой информации / информации об элементах пользовательского интерфейса и т. Д.

2 ответа

Да, Cassia и WTS API здесь вам мало помогут, так как они больше предназначены для администрирования серверов, чем для взаимодействия с отдельными сеансами.

Вы можете попробовать клиент RDP HTML5, как Guacamole. Он имеет клиентский API JavaScript, который позволяет отправлять события клавиш и мыши.

В качестве альтернативы, очень сравнимой с гуакамоле, вы можете попробовать Myrtille, также с открытым исходным кодом и использующий FreeRDP в качестве клиента rdp через шлюз HTTP. Основное отличие заключается в том, что это сделано в.NET (C#) и, следовательно, больше предназначено для серверов Windows.

Другие вопросы по тегам