Загрузки
Текущая версия - 2.4.1
Бесплатная версия интерпретатора
Коммерческая версия интерпретатора
Дополнения для гостевых систем
В этой версии Testo алгоритмы поиска информации на экране выполняются на центральном процессоре. Такой поиск работает относительно медленно, но зато не требует наличия GPU. Эта версия работает на большинстве компьютеров.
В этой версии алгоритмы поиска информации на экране выполняются на GPU с поддержкой CUDA. Такой поиск работает максимально быстро и позволяет существенно сократить время прогона тестов. Для работы требуется видеокарта NVIDIA GTX 1050 и старше, а также наличие актуальных драйверов.
Гостевые дополнения позволяют активировать новые высокоуровневые действия в тестовых сценариях, благодаря которым вы сможете легко выполнять bash, cmd и python-команды на гостевых машинах, а также копировать файлы между виртуальными машинами и хостом.
Windows (.msi)
Windows 10Linux (.deb)
Debian 9+, Ubuntu 18.04+Linux (.rpm)
CentOS 8.0+История версий
Версия 2.4.1
22.02.2021
Добавлена экспериментальная поддержка операционной системы Windows 10 и гипервизора Hyper-V
На данный момент для гипервизора Hyper-V поддерживается не весь функционал языка Testo Lang. Например, пока что недоступна работа с виртуальными флешками. Тем не менее, многие тестовые сценарии уже сейчас вполне успешно работают на гипервизоре Hyper-V. В будущих релизах мы постараемся свести к минимуму разницу в реализации функциональности для Hyper-V и других гипервизоров.
Загрузки
- testo-2.4.1-cpu.msi
- testo-2.4.1-gpu.msi
- testo-2.4.1-cpu.deb
- testo-2.4.1-gpu.deb
- testo-2.4.1-cpu.rpm
- testo-2.4.1-gpu.rpm
- testo-guest-additions-2.4.1-hyperv.iso
- testo-guest-additions-2.4.1-qemu.iso
Версия 2.4.0
09.02.2021
Макросы с тестами и виртуальными стендами
Теперь в макросы можно инкапсулировать не только действия и команды, но также и объявления виртуальных сущностей и тестов. Подробности можно увидеть здесь
Параметризация количества нажатий в действии press
В действиях press
количество нажатий на клавиши теперь можно параметризировать с помощью строк. Подробности см. здесь
Спецификатор nocheck в действиях copyto
Появилась возможность отключать семантические проверки на наличие файлов на хосте в действиях copyto
для виртуальных машин и для флешек. Благодаря этому теперь можно запускать тесты с действиями copyto
даже если на момент запуска необходимые для копирования файлы на хосте отсутствуют (предполагается, что они появятся позже, во время выполнения тестов).
Загрузки
- testo-2.4.0-cpu.deb
- testo-2.4.0-gpu.deb
- testo-2.4.0-cpu.rpm
- testo-2.4.0-gpu.rpm
- testo-guest-additions-2.4.0.iso
Версия 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 устройств не гарантируется.
Загрузки
- testo-2.3.0-cpu.deb
- testo-2.3.0-gpu.deb
- testo-2.3.0-cpu.rpm
- testo-2.3.0-gpu.rpm
- testo-guest-additions-2.3.0.iso
Версия 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 поддерживает новые коды возврата. Подробности см. здесь.
Загрузки
- testo-2.2.9-cpu.deb
- testo-2.2.9-gpu.deb
- testo-2.2.9-cpu.rpm
- testo-2.2.9-gpu.rpm
- testo-guest-additions-2.2.9.iso
Версия 2.1.0
03.10.2020
Команды с флешками
В языке Testo-lang появился новый тип команд: команды с флешками. Теперь в тестах Вы можете работать с флешками как с самостоятельной сущностью, наравне с виртуальными машинами. Для флешек доступны следующие действия:
copyto
(Копирование файлов на с хоста на флешку);copyfrom
(Копирование файлов с флешки на хост);print
,abort
(Поведение аналогично виртуальным машинам);- Вызов макросов, использование
if
иfor
(Поведение аналогично виртуальным машинам).
Подтверждение удаления сущностей в testo clean
Теперь команда testo clean
сначала выводит список всех сущностей, которые Testo собирается удалить, и удаляет их только после подтверждения. Также для testo clean
теперь доступен аргумент --assume_yes
.
Поддержка любого количества аргументов --test_spec
и --exclude
Теперь можно указывать любое количество аргументов командной строки --test_spec
и --exclude
. Тесты будут отбираться или исключаться из очереди на запуск согласно порядку появления аргументов в командной строке.
Вывод стека вызовов макросов
Теперь при возникновении ошибки внутри макросов на экран выведется полная информация о стеке вызовов макросов.
Также были исправлены множественные баги и мелкие недостатки
Загрузки
- testo-2.1.0-cpu.deb
- testo-2.1.0-gpu.deb
- testo-2.1.0-cpu.rpm
- testo-2.1.0-gpu.rpm
- testo-guest-additions-2.1.0.iso
Версия 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 теперь используется английский язык.
Загрузки
- testo-2.0.1-cpu.deb
- testo-2.0.1-gpu.deb
- testo-2.0.1-cpu.rpm
- testo-2.0.1-gpu.rpm
- testo-guest-additions-2.0.1.iso
Версия 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 поставляется в двух исполнениях:
- Для исполнения кода нейросетей на CPU
- Для исполнения кода нейросетей на 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