Существует узел, в котором я удаляю ssh и запускаю сценарий удаленно с помощью Robot Framework (SSHLibrary.Start Command или Execute Command). Этот удаленный скрипт запускает telnet-соединение с другим узлом, который скрыт снаружи. Этот вызов telnet, по-видимому, является блокирующим событием для робота. Я использую RIDE для выполнения теста, и он просто перестает работать. Я могу отправить сигналы остановки неэффективно. Возможно ли запустить telnet в ssh?Есть ли способ использовать telnet в ssh-соединении в Robot Framework?
ответ
Мы точно не использовали метод с телнет, но с другой SSH сессии или других оболочек, которые мы не можем получить доступ иначе ...
Открыть соединение SSH к первой машине. В этом соединении используйте ключевые слова SSHLibrary, такие как Set Prompt, Write и Read или Read Until. Попросите вручную открыть telnet-подключение к следующей машине. Запись и чтение Ключевые слова могут быть использованы как ожидаемые и нерестовые ...
Все возможно.
Опишем ваш сценарий как: Robot Framework работает на машине A. Тест соединяет A с машиной B через ssh и B с машиной C через telnet.
С вашего вопроса неясно, на каком этапе тест застревает. Действительно ли тест устанавливает соединение telnet? Действительно ли процесс telnet начинается с B?
Здесь вы должны рассмотреть две связанные проблемы.
Во-первых, Robot Framework выполняет тест в одном потоке. Это означает, что тест делает не до тех пор, пока не вернется ключевое слово. Если вы хотите, чтобы сеанс telnet был открыт во время теста, вы должны использовать команду SSHLibrary.start, а не выполнить команду.
Второй момент - управление программным соединением сеанса telnet. Клиент telnet должен поддерживать какое-то пакетное выполнение (например, не запрашивать пароль или выполнять сброс ввода). Убедитесь, что вы можете выдавать команды на C из теста. Вы должны иметь возможность перенаправлять команды для C, используя , пишите ключевых слов. Вы можете проверить работоспособность клиента telnet, указав файл команд с его стандартного ввода. Что-то вроде
cat commands_for_c.txt | telnet ...to..c...
Ваше описание о моем сценарии верное. Раньше я пытался запустить telnet с помощью команды «Пуск» и «Выполнить команду». Тогда было похоже, что соединение не установлено. Теперь я использую просто Write, и я возвращаю приглашение от telnet, но Robot, похоже, забывает мой предварительный набор или что-то в этом роде. См. Мой другой комментарий к ответу sdmythos_gr. – Milo
Кошка с конвейером может быть хорошим способом сделать это ... Функция набора подсказок, если я не ошибаюсь, изменилась в последней sshlibrary, и может случиться так, что она устанавливается только один раз для каждого соединения. В тестовом режиме мы используем одну из предыдущих версий библиотеки ssh (думаю, 0.9), поэтому перед любой командой записи мы устанавливаем ожидаемую подсказку. i. Установите подсказку Password: и затем напишите пароль. Затем установите приглашение>, а затем запишите команды ... –
Я взглянул на журнал изменений в SSH Library.По моему мнению, это говорит о том, что приглашение используется глобально (и вы можете изменить его столько раз, сколько захотите), и все используемые соединения, но теперь каждое отдельное соединение может иметь свое собственное приглашение. – Milo
- 1. Robot Framework Telnet Connection повторить
- 2. Robot Framework Telnet сохраняет весь журнал сеансов
- 3. Многострочные комментарии в Robot framework
- 4. Поддерживает ли Robot Framework Angular2?
- 5. Зашифруйте словарь в Robot Framework
- 6. Есть ли способ использовать массивы в Entity Framework + PostgreSql
- 7. Библиотека DateTime в Robot Framework
- 8. Свойства платформы Robot Framework
- 9. Robot Framework
- 10. Есть ли способ ReadWord() в .NET Framework?
- 11. Selenium keywords в Robot Framework
- 12. Есть ли способ заставить Robot Framework запускать тестовые пакеты в определенном порядке?
- 13. Есть ли способ иметь редактор для Robot Framework в Visual Studio 2013?
- 14. Блок IF в Robot Framework
- 15. Наследование класса Robot Framework
- 16. Robot Framework - Словарные переменные
- 17. Включить цикл в цикл в Robot Framework
- 18. Действие Teardown в Robot Framework
- 19. Хорошо ли использовать ROBOT Framework для прекрасной автоматизации API
- 20. Robot Framework и Django
- 21. Разбор булевы в Robot Framework
- 22. __init __ Txt в Robot Framework
- 23. robot framework: обработка исключений
- 24. Удаленный сервер Robot Framework
- 25. Как проверить тип переменной в Robot Framework?
- 26. Могу ли я использовать библиотеку, основанную на Java в Robot Framework и использовать только pybot
- 27. Невозможно импортировать библиотеку DateTime в Robot Framework
- 28. Зарегистрируйте слушателя Robot Framework в библиотеке Python
- 29. Поддержка браузера Robot Framework
- 30. Есть ли способ динамически редактировать XML-файл с помощью robot framework?
Записывать и читать до тех пор, пока не будет предложено сочетание комбинаций. Раньше я пытался запустить telnet с помощью команды «Пуск» и «Выполнить команду» без успеха. Теперь я получаю приглашение от telnet, но я больше не могу отправить команду. Тем не менее, я правильно установил приглашение, тест завершился неудачей: «Не найдено совпадений для '/ в течение 3 секунд здесь есть строка/здесь. Я не знаю. – Milo