Каркас робота для тестирования системы
Я пытаюсь понять, как фреймворк робота поможет мне автоматизировать тестирование системы. У меня есть следующее требование: у меня есть несколько агентов, которые отправляют данные на центральный сервер, и пользовательский интерфейс подключается к серверу, чтобы показать эти данные. У меня есть несколько путей для тестирования агента на сервер и сервера на пользовательский интерфейс. Наряду с этим мне нужно проверить сквозной тест от агента к пользовательскому интерфейсу (проверить данные, отправленные агентом в пользовательском интерфейсе). Я пытаюсь понять, как робот-фреймворк может мне помочь.
У меня есть следующее требование:-
- Мне нужно запустить контрольные примеры для тестирования нескольких путей в разных системах
- Тесты могут быть в Java(Junit) Python или Jasmine.
- Я должен быть в состоянии собрать все журналы или отчеты в центральной системе
Это просто говорит о написании тестовых случаев, управляемых ключевыми словами, но как мне написать реальные тестовые случаи? Это просто драйвер для всех тестовых случаев? Как это помогает для удаленного выполнения?
2 ответа
С помощью роботизированной системы вы не пишете тесты на другом языке программирования, ваши тесты выполняются на языке робота. Вы не используете джунит или жасмин с роботом. Таким образом, это, кажется, нарушает требование (2) в вашем вопросе. Однако вы можете написать ключевые слова в Java или Python, и ваши тесты будут выполнять эти ключевые слова.
Я не совсем понимаю, что вы пытаетесь сделать, но есть хороший шанс, что вы можете сделать это с помощью роботизированной системы. Например, вы, вероятно, можете написать ключевое слово, например, "сказать агенту о передаче данных на сервер", вы можете написать другое ключевое слово, например, "Проверить, что сервер имеет значение", и вы можете написать третье ключевое слово, например, "Подтверждение, что значение появляется в пользовательском интерфейсе"., Вы можете написать их на языке Java или Python или объединить существующие ключевые слова (например: возможно, "Проверка значения отображается в пользовательском интерфейсе" создается путем объединения нескольких существующих ключевых слов селена).
Затем вы можете написать контрольный пример, который вызывает каждое из этих ключевых слов подряд.
Ваш тестовый пример может выглядеть примерно так:
| Example test case
| | Tell agent to push | Hello, world
| | Verify server has the value | Hello, world
| | Verify the UI shows the value | Hello, world
В зависимости от того, как работают ваши агенты и пользовательский интерфейс, эти ключевые слова могут выполнять какой-либо инструмент командной строки, или они могут получить доступ к веб-API RESTful, или они могут использовать селен для проверки пользовательского интерфейса. Ключевые слова робота очень гибки и могут делать все, что вы можете делать на выбранном вами языке.
Если я правильно понимаю ваш вопрос, ответ заключается в том, что Robot Framework фактически является оболочкой для Python, поэтому вы можете использовать его в качестве драйвера на основе тестов для всего, что вы хотели бы написать на Java или Python, и оттуда Лимит.
Это не совсем то, как спроектирована Robot Framework, но вот краткое описание того, как я думаю, что его можно использовать так, как вы думаете.
Robot Framework runs ->
a Robot Framework keyword which runs ->
some Python/Java code which executes
Другими словами, да, Robot Framework МОЖЕТ функционировать как драйвер по крайней мере для скриптов Python и Java, которые сами могут (возможно, с некоторым тайным импортом) выполнять Jasmine по очереди. Если скрипт, на котором работает Robot Framework, завершится неудачно, то Robot Framework сообщит о сбое. Если скрипт, который запускает Robot Framework, выполняется правильно, то Robot Framework сообщит о Pass.
Я должен добавить, что я никогда не слышал о Robot Framework, который одновременно запускает файлы Java и Python.
Теоретически, Robot Framework также может запускать файлы.cmd и.bat. Оттуда небо - предел.