Тестирование

В сборке сервера имеется скрипт testserver.bat(.sh) для запуска программы самотестирования принтера и сервера печати. Производится проверка:

  1. Физического доступа к serial-портам;

  2. Прямого доступа к железной части устройства принтера;

  3. Сетевого доступа к принтеру, эмулируется работа клиента (в данном случае - сервера биллинга);

  4. Доступа к серверу для получения статуса;

  5. Всех драйверов, которые физически нашлись в сборке сервера, для каждого проводится процедура самотестирования (процедура driver touch).

Результаты работы скрипта выводятся в stdout и stderr, при необходимости можно самостоятельно перенаправить вывод в лог файл (например, ./log/testserver.out) для анализа. Пример строки запуска можно увидеть ниже.
Нормально отработал или нет - видно по отсутствию ошибок в логе и надписи TEST COMPLETED в конце вывода скрипта. Эта строка не означает, что всё закончилось успешно, а просто что всё закончилось!

Если сервер запустился и скрипт testserver выдаёт приличные результаты, то серверная сторона печати чеков готова принимать команды и работать с принтером.

Программа testserver также использует log4j, настройки находятся в том же конфиге, но под меткой "testserver".

В программу testserver опционально передаётся пароль для кассира/администратора. То есть тот, что передаётся в драйвер, при логине кассира. Пароли доступа, если они нужны - будут браться из конфига.

При запуске приложения необходимо указать некоторые параметры, при этом делается либо тест, либо touch, либо всё вместе. Параметры запуска:

testserver[.bat|.sh] [--dotest] [--dotouch] [--passwordXXX] [--driversDRIVER1,DRIVER2,...]

где --dotest делать тесты;

  • --dotouch делать тач драйверов;

  • --password(пароль) задать пароль оператора для некоторых тестов (без пробелов и скобок), иначе не задан (равен нулю);

  • --drivers(драйвер1),(драйвер2)…​ задать драйвер(ы) для теста (без пробелов и скобок), иначе выбраны все.

Также, как сказано выше, при необходимости надо перенаправить вывод в лог, к примеру, так:

./testserver.sh --dotest --dotouch > test.log 2>&1

Так, к примеру, выглядит тест драйвера штриха с созданием файла testserver.log для анализа (под Linux и Windows соответственно):

./testserver.sh --dotouch --driversru.bitel.frk.driver.shtrih.Driver,ru.bitel.frk.driver.shtrih2.Driver > testserver.log 2>&1
./testserver.bat --dotouch "--driversru.bitel.frk.driver.shtrih.Driver,ru.bitel.frk.driver.shtrih2.Driver" > testserver.log 2>&1