Тестирование
В сборке сервера имеется скрипт testserver.bat(.sh) для запуска программы самотестирования принтера и сервера печати. Производится проверка:
-
Физического доступа к serial-портам;
-
Прямого доступа к железной части устройства принтера;
-
Сетевого доступа к принтеру, эмулируется работа клиента (в данном случае - сервера биллинга);
-
Доступа к серверу для получения статуса;
-
Всех драйверов, которые физически нашлись в сборке сервера, для каждого проводится процедура самотестирования (процедура 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