Я хочу протестировать приложение, в котором есть система меню с несколькими слезами, по которой вы можете перемещаться. Есть ли способ, которым я могу автоматизировать тестирование этого приложения, используя, скажем, скрипт Python? или гром для Visual Studio?
Изменить: вся программа работает в консоли — приложение ожидает std::cin
для большинства входов.
Спасибо,
Вы можете сделать много такого рода вещей с помощью высококлассного инструмента, такого как Rational Test, но вы заплатите мегабаксу за эту привилегию.
В Windows вы можете отправлять сообщения Windows в соответствующее окно. Чтобы найти дескриптор окна, нужно потратить немного времени, но это не так. тоже жесткий. Не уверен, что это возможно на * nix, но я не удивлюсь.
Другим вариантом является «инструмент» вашей программы. Слушайте в сокете «команды» и выполняйте их. Вы должны быть осторожны, чтобы не вводить дыру в безопасности. Пока вы принимаете только локальные сокеты и не предоставляете никаких дополнительных привилегий командам сокетов (в отличие от команд клавиатуры / мыши), это не так уж плохо.
Если вы работаете в Windows, я бы, вероятно, пошел с отправкой сообщений Windows.
РЕДАКТИРОВАТЬ
Если ваше приложение является консольным приложением, это может быть намного проще.
Если вы запускаете приложение из программы на C или C ++, вы можете перенаправить stdin и stdout в каналы и управлять вводом / выводом. Вы вполне можете сделать это из Python, но я не эксперт в этом. Проверьте popen () или CreateFile () (только Win).
Других решений пока нет …