OpenTest - это бесплатный инструмент автоматизации функциональных тестов с открытым исходным кодом для веб -приложений, мобильных приложений и API.
Мы знаем, что уже есть много вещей, как установленных коммерческих продуктов, так и проектов с открытым исходным кодом. Мы долго искали правильный инструмент и давали честную попытку немало из них, с результатами, которые не соответствовали нашим ожиданиям. Мы искали инструмент, который мы могли бы стандартизировать, который позволил бы нам объединить усилия по автоматизации тестов для нескольких внутренних и внешних команд с различными размерами, наборами навыков, бюджетами и географическими местами. Этот инструмент должен был бы включить последние лучшие практики в отрасли и, в идеале, выйти под лицензию с открытым исходным кодом, чтобы мы могли устранить длительные процессы и снизить затраты. Учитывая эти соображения, а также другие требования, мы решили, что строительство с нуля является ответственным выбором.
OpenTest стремится предложить все функции современного инструмента автоматизации тестирования, выполняя набор здоровых принципов. Мы стремимся демократизировать автоматизацию функциональных тестов и создать великое сообщество, которое уполномочено опираться на себя. Хотя ничто в жизни не является идеальным, и ни одна часть программного обеспечения не завершена, мы обещаем, что каждая функция, которая вошла в этот продукт, была тщательно продумана и тщательно реализована для достижения наилучшего баланса между мощностью и гибкой с одной стороны и удобством для удобства использования.
Веб -тестирование , с селеном. Все браузеры поддерживали. Запустите тесты на вашей локальной машине или используйте облачный провайдер.
Мобильное тестирование для приложений Android и iOS с Appium. Запустите тесты на вашей локальной машине или используйте облачный провайдер.
Тестирование API , построенное на вершине библиотеки Apache Httpclient.
Ключевое слово тестирование . Соберите свои тесты, используя строительные блоки более высокого уровня, которые скрывают сложность базовой технологии и позволяют выразить себя кратким и читаемым образом.
Поддержка сценариев . Объедините комплексные сценарии тестирования с использованием кода JavaScript, органически встроенный в тест, управляемый ключевыми словами, чтобы сохранить чистоту и читаемые.
Параллельное тестирование . Количество тестовых сеансов, которые вы можете запускать параллельно, ограничено только ресурсами машины, на которой вы запускаете (но в облаке всегда есть больше машин).
Распределенное тестирование . Напишите тесты, которые плавно выполняются в нескольких машинах, сети и технологиях. Напишите интеграционные тесты, которые охватывают мобильные устройства, веб -сайт, API и все, что между ними.
Данное тестирование . Запустите тест несколько раз над набором записей данных, поддерживаемых в отдельном файле данных.
Расширяется . Интегрируйте с любой технологией, создав свои собственные тестовые действия (ключевые слова).
Источник управляющего, по дизайну. Работайте с уверенностью, зная, что у GIT есть ваша спина. Идеально подходит для крупных или географически распределенных команд.
Среда . Создайте свои тесты один раз и работайте в нескольких средах или используйте различные наборы тестовых данных.
Хорошо работает с другими . Используйте простой API HTTP, чтобы контролировать начальные сеансы тестирования, сбора результатов теста и т. Д.
Кроссплатформенный , работающий на MacOS, Windows и Linux.
(И нам пришлось пропустить много действительно классных функций, чтобы сохранить это краткое)
Предварительные условия: node.js 8 или более; Java Runtime 8 или более.
Установите из NPM:
npm install opentest -gВидеоурок: https://getopentest.org/docs/installation.html (записано в Windows)
Создайте каталог под названием «Ofentest» в вашем домашнем каталоге для использования в качестве игровой площадки для этого руководства, и cd в этот каталог.
cd ~
mkdir opentest
cd opentest Примечание | В Windows используйте md вместо mkdir . |
Запустите команду ниже
opentest quick-startТеперь вы должны иметь эти файлы и каталоги в вашем текущем пути:
server
└── server.yaml
actor1
└── actor.yaml
test-repo
├── macros
│ └── ...
├── scripts
│ └── ...
├── templates
│ └── ...
└── tests
└── ... server и каталоги actor1 будут использоваться в качестве рабочих каталогов для сервера Ofentest и тестового актера, соответственно. Справочник test-repo представляет собой репозиторий для испытаний образца, который демонстрирует некоторые основные особенности Ofentest.
Откройте новое окно терминала, cd для рабочего каталога сервера и запустите сервер OpenTest:
cd ~/opentest/server
opentest serverСервер OpenTest (он же Sync Server)-это приложение Node.js, которое основные функции предназначены для организации выполнения тестирования и предоставления веб-интерфейса.
Откройте новое окно терминала, cd для рабочего каталога актера и запустите Test Actor:
cd ~/opentest/actor1
opentest actorТестовый актер - это приложение Java, которое работает в тестовой системе, и выполняет этапы тестирования, как указано на сервере Sync.
Откройте веб -браузер и перейдите на http: // localhost: 3000.
В меню выберите сеанс> Создать сеанс из шаблона . Выберите The Champate Quick Start Tests и нажмите «Создать сеанс» . Подождите несколько секунд и обновите свой браузер, чтобы просмотреть результат тестового сеанса.
Есть три компонента для OpenTest:
Sync Server , приложение Node.js, которое в основном выполняет три функции:
Оркестр тестирует выполнение.
Раскрывает веб -интерфейс, который можно использовать для создания тестовых сеансов, проверки результатов теста и т. Д.
Раскрывает дружеский API, который можно использовать для примерно тех же целей, что и пользовательский интерфейс.
Испытательный актер , приложение Java, отвечающее за выполнение тестов, как указано на сервере Sync. В одном и том же тесте может участвовать несколько актеров, и участники могут быть развернуты на любой машине в любой сети, в том числе в облаке. Единственное требование состоит в том, что тестовый субъект может общаться с HTTP API, выявленным сервером SYNC. Не требуется, чтобы сервер SYNC мог инициировать связь с актером, что значительно упрощает настройку в сценариях, в которых актер работает в лаборатории, которая находится за брандмауэром или в сети, которая не доступна с машины, работающей на сервере Sync.
Испытательный репозиторий , каталог с предопределенной, необходимой структурой под управлением источника, содержащей различные тестовые активы (тестовые файлы, сценарии, шаблоны сеанса тестирования и т. Д.).

OpenTest - это программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT.
Если вы явно не заявляете иное, какой -либо вклад, преднамеренно представляемый вами для включения в настоящий репозиторий, должен быть лицензирован, как указано выше, без каких -либо дополнительных условий или условий.
Для получения дополнительной информации, пожалуйста, см. В документе «Содействие».
Спасибо BrowserStack за предоставление учетной записи с открытым исходным кодом для тестирования и разработки!
Платформа тестирования кросс-браузера и открытый исходный код ❤ Предоставлены Sauce Labs