Всем привет, сегодня у меня хорошая новость: вышла бета-версия at2k — проекта для управления и запуска приемочных тестов для веб-сервисов. Давайте рассмотрим его основные возможности, которые можно проверить еще и здесь. AT2K — проект с открытым исходным кодом, написанный на Golang (в качестве языка бекенда) и Angular (для клиентской части). Основная идея и цель в том, чтобы позволить пользователям (программистам, QA инженерам и, возможно, менеджерам) писать и запускать тесты на языке, близком к их предметной области. Перед тем, как приступить к рассмотрению UI и различных возможностей по настройке тестов, позвольте продемонстрировать вам пример сервиса, который предполагается протестировать и непосредственно тестов. Итак, реализация сервиса (node.js): Без лишних слов, вот пара тестов: Как видите, все довольно просто. Для начала работы нам нужно завести учетную запись, пройдя по ссылке и введя логин и пароль, который хотим использовать. Сразу после регистрации можно заходить в админку на странице входа. Видим довольно непритязательный интерфейс, который с порога сообщает нам, что мы
не создали каких-то там объектов (разберемся позже):  Для того чтобы понять, что делать дальше, давайте еще раз посмотрим на пример
теста, а именно на команду: Здесь Так вот, веб-версия проекта служит двум основным целям Для начала, нам нужно создать объект. Для этого нажимаем на вкладку Create object и попадаем сюда:  Нужно ввести имя нашего объекта. Для тестов пойдет USER. Вводим, нажимаем Create, объект создался:  Чтобы без лишних ошибок запустить наши простенькие тесты, нужно создать 2 команды – GET и CREATE. Начнем с GET. Нажимаем на иконку редактирования справа от названия команды (см. скрин выше) и попадаем в меню редактирования объекта:  Нажимаем на Add command и заполняем все поля, как на скрине ниже:  Нажимаем Create внизу страницы (заголовки и куки пока не трогаем, т.к. не нужны). Аналогично создаем команду CREATE:  По результату, в меню редактирования объекта получаем такую картину:   Почти все готово для запуска тестов. Сейчас нам нужно предоставить доступ бекенду проекта до нашего веб-сервиса. Чтобы не заморачиваться с деплоем, можно просто воспользоваться ngrok. Для тестов я использую node.js: Скопируйте код из введения статьи в файл index.js и запустите командой Далее воспользуемся ngrok, чтобы сделать наш веб-сервис доступным извне: Получится ссылка вида http://56dd9be41097.ngrok.io Далее, нужно обновить наши команды, чтобы они использовали ссылку, полученную выше. Чтобы не редактировать каждую команду по отдельности, нажмите на пункт меню General settings и выберите Base URLs. Введите в поле Base URL ссылку http://56dd9be41097.ngrok.io и нажмите на кнопку Choose all:  Нажимаем Update и все готово. Итак, до запуска тестов нас отделяет 1 шаг – написание самих тестов. Для этого создайте файл (скажем, get_create_tests.txt) и скопируйте в него содержимое примера тестов из введения. Далее, выберите пункт Run tests, нажмите на кнопку Tests file и выберите файл, который вы создали ранее. Нажимаем Run tests и, если все сделано правильно, видим такую картину:  Несложно понять, что наши тесты запускаются и работают. Дальше, как несложно догадаться, можно продолжать создавать команды для нашего объекта (USER), писать тесты с использованием этих команд и запускать их также, как было описано в предыдущем разделе. Любые предложения по улучшению проекта приветствуются – я здесь, чтобы получить фидбек. Если кто-то решится изучить код в репозитории и предложить улучшения или замечания, тоже буду рад (лучше в телеге — @ilyaWD).