Как вы можете запустить RDP и запустить Selenium Tests? - PullRequest
0 голосов
/ 26 февраля 2019

Я получил интересное требование для моих тестов Selenium, где мне нужен код для RDP на сервер, откройте браузер и затем запустите мои тесты на этом.

Сначала я думал, что Browserstack или даже SeleniumСетка, но требование состоит в том, чтобы фактически открыть сеанс RDP и запустить тесты через него.

Есть ли способ добиться этого?Я хотел попробовать использовать что-то вроде Microsoft UI Automation для открытия сеанса RDP, но тогда мои тесты Selenium будут запускаться локально после запуска RDP, верно?У меня возникли проблемы с началом работы, и я не могу найти хорошее место для начала.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Это теоретически возможно, но не совсем так, как вы это описываете.Вы, кажется, говорите, что хотите взаимодействовать с вещами в окнах RDP, как если бы окно RDP было стандартным браузером или собственным приложением, а вещи внутри него были элементами в DOM.Запустив селен на хост-машине, затем открыв RDP и щелкнув в окне RDP с исходного хост-компьютера.

Невозможно подключиться таким образом (таким образом, как этого требует)прямо через RDP.Если ни по какой другой причине, кроме безопасности.Например;Если вы когда-нибудь видели, как люди на youtube заражают виртуальные машины сумасшедшими вирусами, чтобы продемонстрировать разрушительное воздействие вируса на виртуальную машину, не повреждая компьютер, с которого они были включены в RDP.Но, похоже, существуют способы связи по TCP-соединениям через RDP, которые облегчили бы другие способы взаимодействия с удаленной машиной.

Кроме того, вы можете просто подключить SSH / Enter-PSSession к машине и настроитьканал связи между машинами вне сеанса RDP.Если на вашем компьютере было удалено приложение, созданное на заказ, вы могли бы использовать библиотеки System32, чтобы сообщать на основном компьютере координаты xy вещей, по которым нужно щелкнуть.Затем с основного компьютера вы можете развернуть окно RDP и щелкнуть на предоставленных координатах XY.

Я подозреваю, что это успешно отправит щелчок на всем протяжении вплоть до ВМ, как выпредлагаю.Если Appium не может отправить щелчок вниз таким способом, вам может потребоваться разработать собственную абстракцию user32.dll для выполнения кликов, используя основную логику Windows для клавиатур и щелчков мыши.

В общем, этобезумно глубокий проект, который (казалось бы) ничего не дает для усилий.Я хотел бы отречься от того, кто дает вам это требование, исследуя некоторые из вещей, которые я упомянул выше (вместе с любыми другими советами), и объясняя стоимость по сравнению с возвратом инвестиций.

Надеюсь, они простоПозвольте вам использовать Selenium Grid для связи с виртуальными машинами или подключенными устройствами, чтобы выдвигать приложения и тестировать их с учетом отраслевых стандартных подходов.

Вот интересное и уместное чтение: https://superuser.com/questions/130552/tunneling-a-tcp-ip-connection-through-remote-desktop-connection

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

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

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