Управление терминальной программой rs232 windows из python - PullRequest
2 голосов
/ 03 октября 2011

Я тестирую аппаратное обеспечение, на котором размещен FTP-сервер. Я подключаюсь к серверу для настройки рассматриваемого оборудования.

Моя тестовая среда написана на Python 3.

Чтобы запустить ftp-сервер, мне нужно запустить специальное проприетарное терминальное приложение на моем компьютере. Я должен использовать это программное обеспечение, насколько я знаю, и у меня нет справочных файлов для него. Однако я знаю, как использовать его для запуска FTP-сервера, и это все, что мне нужно.

Когда я запускаю это приложение, я захожу в меню и открываю диалоговое окно, в котором я выбираю com-порт / скорость, к которой подключено оборудование. Затем я ввожу команду для запуска ftp-сервера в окне консоли в приложении. Затем мне предлагается ввести код администратора для оборудования, которое я ввожу. Когда я закончу настройку устройства, я выдаю команду для перезапуска программного обеспечения оборудования.

Чтобы полностью автоматизировать свои тесты, мне нужно отменить запуск этого ftp-сервера вручную для каждого теста.

Насколько я знаю, у меня есть два варианта:

  1. Автоматизация Windows GUI
  2. Сохранение потока данных, отправляемых на com-порт при использовании этого приложения.

Я пытался найти GUI-автомат, но pywinauto не поддерживает Python 3. Есть ли здесь другие варианты, на которые мне стоит обратить внимание?

Любые предложения о том, как я могу контролировать рассматриваемый com-порт и сохранять трафик на нем?

Спасибо

Barry

Ответы [ 3 ]

1 голос
/ 03 октября 2011

Вы смотрели на pySerial ?Прошло несколько лет с тех пор, как я его использовал, но он неплохо справлялся со связью RS-232 и, похоже, совместим с Python 3.x.

0 голосов
/ 10 октября 2011

Мне также удалось решить эту проблему с помощью WScript, но pySerial был предпочтительным решением.

0 голосов
/ 03 октября 2011

Sikuli может обеспечить необходимую автоматизацию графического интерфейса пользователя.

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