Загрузки

Текущая версия - 2.4.1

Бесплатная версия интерпретатора

Коммерческая версия интерпретатора

Дополнения для гостевых систем

В этой версии Testo алгоритмы поиска информации на экране выполняются на центральном процессоре. Такой поиск работает относительно медленно, но зато не требует наличия GPU. Эта версия работает на большинстве компьютеров.

В этой версии алгоритмы поиска информации на экране выполняются на GPU с поддержкой CUDA. Такой поиск работает максимально быстро и позволяет существенно сократить время прогона тестов. Для работы требуется видеокарта NVIDIA GTX 1050 и старше, а также наличие актуальных драйверов.

Гостевые дополнения позволяют активировать новые высокоуровневые действия в тестовых сценариях, благодаря которым вы сможете легко выполнять bash, cmd и python-команды на гостевых машинах, а также копировать файлы между виртуальными машинами и хостом.

Windows (.msi)

Windows 10
Скачать

Linux (.deb)

Debian 9+, Ubuntu 18.04+
Скачать

Linux (.rpm)

CentOS 8.0+
Скачать

Windows (.msi)

Windows 10
Скачать

Linux (.deb)

Debian 9+, Ubuntu 18.04+
Скачать

Linux (.rpm)

CentOS 8.0+
Скачать

Hyper-V (.iso)

Debian 8+, Ubuntu 14.04+, CentOS 7.0+, Windows 7+
Скачать

QEMU (.iso)

Debian 8+, Ubuntu 14.04+, CentOS 7.0+, Windows 7+
Скачать

История версий

Версия 2.4.1

22.02.2021

Добавлена экспериментальная поддержка операционной системы Windows 10 и гипервизора Hyper-V

На данный момент для гипервизора Hyper-V поддерживается не весь функционал языка Testo Lang. Например, пока что недоступна работа с виртуальными флешками. Тем не менее, многие тестовые сценарии уже сейчас вполне успешно работают на гипервизоре Hyper-V. В будущих релизах мы постараемся свести к минимуму разницу в реализации функциональности для Hyper-V и других гипервизоров.

Загрузки

Версия 2.4.0

09.02.2021

Макросы с тестами и виртуальными стендами

Теперь в макросы можно инкапсулировать не только действия и команды, но также и объявления виртуальных сущностей и тестов. Подробности можно увидеть здесь

Параметризация количества нажатий в действии press

В действиях press количество нажатий на клавиши теперь можно параметризировать с помощью строк. Подробности см. здесь

Спецификатор nocheck в действиях copyto

Появилась возможность отключать семантические проверки на наличие файлов на хосте в действиях copyto для виртуальных машин и для флешек. Благодаря этому теперь можно запускать тесты с действиями copyto даже если на момент запуска необходимые для копирования файлы на хосте отсутствуют (предполагается, что они появятся позже, во время выполнения тестов).

Загрузки

Версия 2.3.0

13.01.2021

Меню загрузки

В виртуальных машинах появилась возможность отобразить меню загрузки. Сделать это можно сочетанием действий start; press Esc*30.

Поддержка USB-контроллеров версии 3

Теперь по-умолчанию все виртуальные машины поддерживают USB контроллер версии 3. Переключить USB контроллер обратно в режим версии 2 можно с помощью нового атрибута qemu_enable_usb3, задав ему значение false.

Новое действие (un)plug hostdev usb

С помощью нового действия (un)plug hostdev usb Вы можете подключать реальные USB-устройства к виртуальным машинам в ходе тестов. Целостность подключенных USB устройств не гарантируется.

Загрузки

Версия 2.2.9

19.12.2020

Распознавание изображений и улучшенное распознавание текста

В платформе Testo появилась возможность распознавать изображения на экране (наравне с текстом). Поиск изображений можно использовать в действиях wait, click(lclick, rclick, dclick) а также в проверке check.

Подробнее про механизм распознавания изображений можно почитать здесь.

Кроме того, была значительно улучшена точность распознавания текста, в том числе - крупного текста, курсива и жирного текста.

Поддержка видеокарт GeForce RTX 30 Series

Добавлена поддержка видеокарт последней серии. Обратите внимание, что теперь для запуска GPU версии Testo требуется наличие CUDA-драйвера с поддержкой CUDA версии 11.1.

Улучшена производительность гостевых дополнений

Действия copyto и copyfrom теперь работают значительно быстрее и подходят для копирования очень больших файлов. Гостевые дополнения для своей работы используют не больше 1Мб оперативной памяти. При обновлении Testo на новую версию не забудьте обновить и ISO образ с гостевыми дополнениями.

Макросы с командами

Макросы теперь могут состоять из команд (ранее макросы могли содержать только набор действий). Посмотреть использование макросов с командами можно в обновленном девятом туториале.

Атрибут video в объявлении виртуальных машин

В объявлении виртуальных машин теперь можно указывать атрибут video для настройки режима работы эмулируемого видеоадаптера.

Нестандартный загрузчик в виртуальных машинах

В объявлении виртуальных машин теперь доступен новый атрибут loader, с помощью которого можно указывать путь к произвольному загрузчику виртуальной машины, если Вас по какой-то причине не устраивает стандартный BIOS.

Новые коды возврата

Интерпретатор testo поддерживает новые коды возврата. Подробности см. здесь.

Загрузки

Версия 2.1.0

03.10.2020

Команды с флешками

В языке Testo-lang появился новый тип команд: команды с флешками. Теперь в тестах Вы можете работать с флешками как с самостоятельной сущностью, наравне с виртуальными машинами. Для флешек доступны следующие действия:

  1. copyto (Копирование файлов на с хоста на флешку);
  2. copyfrom (Копирование файлов с флешки на хост);
  3. print, abort (Поведение аналогично виртуальным машинам);
  4. Вызов макросов, использование if и for (Поведение аналогично виртуальным машинам).

Подтверждение удаления сущностей в testo clean

Теперь команда testo clean сначала выводит список всех сущностей, которые Testo собирается удалить, и удаляет их только после подтверждения. Также для testo clean теперь доступен аргумент --assume_yes.

Поддержка любого количества аргументов --test_spec и --exclude

Теперь можно указывать любое количество аргументов командной строки --test_spec и --exclude. Тесты будут отбираться или исключаться из очереди на запуск согласно порядку появления аргументов в командной строке.

Вывод стека вызовов макросов

Теперь при возникновении ошибки внутри макросов на экран выведется полная информация о стеке вызовов макросов.

Также были исправлены множественные баги и мелкие недостатки

Загрузки

Версия 2.0.1

17.08.2020

Стабилизация языка и гарантии обратной совместимости

Значительное повышение номера версии связано со стабилизацией систаксиса языка Testo Lang. У нас есть ясное представление о том, в какую сторону должен двигаться язык, и для ветки 2.x у нас запланировано несколько больших нововведений. Однако, мы уверены, что это не приведёт к существенным изменениям языка.

Кроме того, мы вводим некоторые гарантии по обратной совместимости между версиями платформы Testo. Начиная с версии 2.0.1 Вы можете быть уверены, что те тесты, которые работают на текущей версии платформы Testo, будут работать и на следующей её версии. В случае, если всё же в языке появятся изменения, нарушающие обратную совместимость, платформа Testo некоторое время будет поддерживать как старый синтаксис, так и новый. При этом, использование старого синтаксиса будет вызывать предупреждение о том, что данный синтаксис объявлен устаревшим.

Изменение формата файла лицензии

Изменен формат файла лицензии на GPU-версию платформы Testo. Теперь файл лицензии привязан к серийному номеру видеокарты. Для получения файла лицензии необходимо сгенерировать запрос на лицензию с помощью команды testo request_license.

Повышение стабильности работы виртуальных флешек

Механизм создания виртуальных флешек и управления ими был полностью переработан. Это существенно повысило стабильность работы тестов, которые используют виртуальные флешки.

Расширенные возможности параметризации некоторых действий

В некоторых действиях появилась возможность использовать строки вместо обычных литералов. Эти строки, как и любые другие, можно параметризировать. Ниже представлен список мест, где вместо привычных литералов можно использовать строки:

  • значение timeout в действии shutdown;
  • значение interval в действии press;
  • значение interval в действии type;
  • значение timeout в действии sleep;
  • значение timeout и interval в действии wait;
  • значение timeout и interval в действии check;
  • значение timeout в действии mouse move/click/rclick/dclick;
  • значение имени флешек/сетевых адаптеров в действии plug/unplug flash/link/nic;
  • значение timeout в действии exec;
  • значение timeout в действии copyto/copyfrom;

За счёт таких изменений теперь можно, например, использовать макросы с действием plug flash, где имя флешки является аргументом макроса.

Изменение алгоритма разрешения переменных

В случае попытки параметризации строки, которая содержит несуществующий параметр, будет сгенерирована ошибка. Ранее в этом случае вместо параметра возвращалась пустая строка.

Для определения, определён параметр или нет, появилось новое выражение DEFINED, которое можно использовать в условии конструкции if.

Другие изменения

  • Для конструкции RANGE появилась возможность использовать обычные числа в дополнение к использованию строк.
  • Теперь количество виртуальных машин в заголовке команды всегда фиксировано - допускается только одна виртуальная машина.
  • В инсталляторе гостевых дополнений для Windows теперь используется английский язык.

Загрузки

Версия 1.6.3

09.07.2020

Исправления

  • Исправлена ошибка, возникающая при импорте диска готовой гостевой системы на операционных системах семейства Debian.

Версия 1.6.2

29.06.2020

Изменения условий лицензионного соглашения

Согласно новым условиям лицензионного соглашения CPU-версия платформы Testo становится бесплатной для коммерческого и некоммерческого использования. Параметр коммандной строки --license для CPU-версии больше не поддерживается, его указывать при запуске программы не нужно. Условия использования GPU-версии платформы, как и параметры командной строки, остаются прежними. С лицензионным соглашением можно ознакомиться здесь.

Поддержка операционных систем

Добавлена поддержка Debian 9+ в качестве хостовой системы.

Исправления

  • Исправлена ошибка, в некоторых случаях мешаюшая остановке сервиса гостевых дополнений в ОС Windows.

Версия 1.6.1

20.06.2020

Самособираемость

Мы рады сообщить, что наш проект достиг важного этапа своей жизни. Версия 1.6.1 - это первая версия платформы Testo, собранная самой платформой Testo. Да, платформа Testo ориентирована в основном на автотесты. Однако это не мешает ей выполнять и другие задачи. Например: выполнять сборку проекта или разворачивать стенд для отладки. Помните об этом, когда в очередной раз будете повторять одни и те же рутинные действия.

Исправления

  • Восстановлена работоспособность действия unplug dvd
  • Исправлена ошибка, возникающая при копировании файлов из гоствой Windows-системы в хостовую Linux-систему через действие copyfrom
  • Исправлена ошибка, возникающая при копировании в гостевую Windows-систему каталогов с кириллицей в названии через действие copyto

Версия 1.6.0

10.06.2020

Импорт вручную созданных виртуальных машин

В платформе Testo появилась возможность импортировать жёсткие диски от уже настроенных виртуальных машин. Теперь у Вас есть возможонсть вручную подготовить виртуальную машину, а затем импортировать результаты своей работы в Testo.

Подробнее про эту возможность можно прочитать в документации и в обучающих материалах

Поддержка нескольких жёстких дисков

Появилась возможность указывать несколько жёстких дисков у виртуальной машины. Подробности см. здесь

Зажатие клавиш клавиатуры

Появилась возможность зажимать и отпускать клавиши клавиатуры. Подробности можно посмотреть здесь

Выборочный семантический анализ

Были улучшены возможности выборочного семантического анализа (впервые представлено в 1.5.1).

Версия 1.5.1

24.05.2020

Поддержка ускорения работы нейросетей с помощью GPU.

Теперь Testo поставляется в двух исполнениях:

  1. Для исполнения кода нейросетей на CPU
  2. Для исполнения кода нейросетей на GPU

На текущий момент мы точно уверены в работоспособности Testo на видеокартах NVIDIA GTX 1050 и более старших моделях. Для работы поотребуется установить актуальные драйвера на видеокарту.

Управление порогом контроля целостности файлов

Появился новый аргумент командной строки --content_cksum_maxsize, который позволяет изменять максимальный размер файлов, для которых целостность высчитывается на основе содержимого (а не временной метки). Значение по умолчанию - 1 МБ.

Подробности можно посмотреть здесь и здесь

Выборочный семантический анализ

Семантический анализ проводится только для тестов, запланированных к запуску (согласно аргументам --test_spec и --exclude). Семантический анализ также не будет проводиться для сущностей (флешек и виртуальных машин), которые не задействованы в запланированных тестах.

На практике это означает, что Вам нужно будет скачать артефакты (iso-образы, дистрибутивы и проч.) только для тех тестов, которые вы собираетесь запустить.

Атрибут cpus в виртуальных машинах

Теперь атрибут cpus отвечает не за количество процессоров, а за количество ядер процессора. Процессор всегда создаётся один.

Новые клавиши

Добавлена поддержка клавиш на NumPad в действии press

Дополнительная информация представлена здесь.

Версия 1.5.0

03.04.2020

Дополнительные возможности семейства действий mouse

Для семейства действий mouse, связанных с работой с мышкой, появились возможность более точно позиционировать курсор мыши:

  • В случае наличия нескольких искомых надписей на экране можно указывать, какая именно надпись имеется в виду
  • Можно более точно спозиционировать курсор внутри надписи (раньше курсор позиционировался всегда в центр надписи)
  • После позиционирования внутри надписи можно дополнительно передвинуть курсор на необходимое количество пикселей по осям Х и Y.
  • Все соответствующие конструкции продублированы также в JS-селекторах

Подробности можно посмотреть здесь.

Возможность управлять таймаутами и интервалами по-умолчанию

Добавлена возможность управлять значениями по-умолчанию для таймаутов и интервалов всех основных действий. Подробности можно посмотреть здесь.

Спецификатор interval для действия type

Cпецификатор interval <time_interval> добавлен также в действие type, что позволяет регулировать скорость набора текста.

Подробности можно посмотреть здесь.

Изменения в языке JS-селекторов

Значительно были переделан внутренний формат JS-селекторов. Обратная совместимость с уже сущестующими селекторами утрачена. Подробности можно посмотреть здесь.

Гостевые долнения

  • Добавлена поддержка гостевых дополнений для Windows 8, Windows 8.1 и Windows 10
  • Гостевые дополнения для операционных систем семейства Windows теперь доступны и для архитектуры x86

Версия 1.4.0

10.03.2020

Поддержка управления мышкой

В тестовых сценариях появилась возможность управлять мышкой (действие mouse):

  • Перемещать курсор на указанную надпись
  • Перемещать курсор с использованием абсолютных координат
  • Перемещать курсор с помощью javascript-конструкций
  • В дополнение к перемещению можно нажать левую или правую кнопку мышки, а также выполнить двойной клик
  • Зажимать и отпускать левую и правую кнопки мыши

Подробности можно посмотреть здесь.

Поддержка аргументов по умолчанию в макросах

Подробности можно посмотреть здесь.

Отдельное действие sleep

Для безусловного ожидания на фиксированное время вместо конструкции wait timeout <time_interval> теперь используется отдельное действие sleep <time_interval>

Спецификатор interval

В действиях wait, check и press теперь можно использовать спецификатор interval <time_interval>, который позволяет регулировать частоту проверок состояния экрана (в wait и check), либо регулировать интервал между нажатиями клавиш (в press)

Новый формат цикла for

Обновлен формат цикла for. Новый формат позволяет более гибко управлять циклами. Подробности смотри здесь

Перенос однострочных строк

Добавлена возможность переносить однострочные строки с помощью экранированного символа: \n

copyto с кириллическими названиями файлов

Добавлена возможность указывать файлы с кириллическими буквами в названии и в пути в действии copyto