В сборке сервера имеется скрипт
для запуска программы самотестирования принтера и сервера печати. Производится проверка:физического доступа к serial-портам;
прямого доступа к железной части устройства принтера;
сетевого доступа к принтеру, эмулируется работа клиента (в данном случае - сервера биллинга);
доступа к серверу для получения статуса;
всех драйверов, которые физически нашлись в сборке сервера, для каждого проводится процедура самотестирования (процедура driver touch).
Результаты работы скрипта выводятся в stdout и stderr, при необходимости можно самостоятельно перенаправить вывод в лог файл (например,
) для анализа. Пример строки запуска можно увидеть ниже. Нормально отработал или нет - видно по отсутствию ошибок в логе и надписи в конце вывода скрипта. Эта строка не означает, что всё закончилось успешно, а просто что всё закончилось! Также там могут быть, например, следующие ("технические") ошибки:Причина: RXTXcomm.jar не видится в путях той java, от которой запускается приложение. Внимательно проверьте JAVA_HOME (если вы ей пользуетесь) и/или пути к java в .bat/.sh-скриптах. Например, у вас может стоять две Java-машины, либо JDK, которая содержит внутри себя вложенную JRE. Обратите внимание: это очень распространённые ошибки.
Причина: отсутствует соответствующая (операционной системе, её версии, разрядности и т.д.) бинарная библиотека rxtxSerial. См. комментарии к предыдущей ошибке.
Если сервер запустился и скрипт
выдаёт приличные результаты, то серверная сторона печати чеков готова принимать команды и работать с принтером.Программа 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