- PVSM.RU - https://www.pvsm.ru -
Вокруг нас есть множество полезных компьютерных устройств, которые при правильном приложении сил могут существенно помочь нам в решении типовых рутинных задач. И, к сожалению, немногие об этом знают и умеют применить такие вещи на практике. Сегодня я хочу рассказать вам о любопытном применении POS-клавиатуры для существенной помощи в работе QA-инженера. Это всего лишь одно из многих применений такого класса устройств для задач, где необходимо производить заданные последовательности одинаковых действий.
Из Википедии [1]:
Существуют два главных отличия POS-клавиатуры от клавиатуры стандартной. Во-первых, программируемая клавиатура используется не столько для введения символьной информации, сколько для управления кассовыми операциями. Во-вторых, клавиши программируемой клавиатуры изначально не имеют привязки к кодовым последовательностям (или макросам). Их прописывает технический специалист, когда устанавливает периферийное оборудование. Функциональность выбранной клавиатуры зависит от количества потенциальных комбинаций макрокоманд.
Я работаю QA-инженером в аутсорс компании. И так исторически сложилось, что почти все проекты — распределенные клиент-серверные приложения с мобильными клиентами. Первый проект был не исключением. Я сразу попал на активную фазу разработки. На проекте было 7 программистов (Android, iOS, Back-End, Front-End) и я. В самые горячие месяцы заводил по 150 баг-репортов, плюс задачибаги со стороны заказчика, задачи от ПМ-а и, естественно, работа с уже открытыми/переоткрытыми задачами. Каждый день по несколько обновлений клиентов, работа с тестовой документацией и многое другое. Было интересно и весело! Но, многие действия по большей части связанны с рутиной, и она весьма заметно снижала производительность, оставляя меньше времени на куда более нужные активности на проекте.
Программы для создания макросов нажатия, менеджеры буфера обмена, всевозможные тулбары и пр. Что-то вызывалось горячими клавишами, где-то были всплывающие тулбары. Основная проблема была в том, что появилось слишком много комбинаций клавиш. Самые частые и популярные запоминались, менее популярные за неделю-две успевали “вылететь” из головы. Плюс, комбинации были не сложные, и часто возникал конфликт локальных и глобальных комбинаций клавиш. Этот вариант у меня в итоге не прижился, и я начал смотреть с сторону hardware решения.
Итак, я начал искать hardware решения. Первые варианты были безумны:
В процессе поисков я наткнулся на POS-клавиатуры. Почитал описание, и понял, что это как раз то, что надо. Зашел в интернет-магазин торгового оборудования, глянул на ценники… 100-300уе. Для зарплаты Junior QA это было многовато. Решил поискать на бесплатных досках объявлений. И, о чудо, POS-клавиатура на 96 кнопок за 13 долларов. Пару дней ожидания, и она у меня в руках.
Итак, в руки мне попала клавиатура POSUA LPOS-II-096 с интерфейсом PS/2. Её изображение и ттх:
Установка не сложная, опишу ее по шагам:
Клавиатура готова к использованию. Для версии клавиатуры с USB интерфейсом достаточно просто установить программу конфигурации.
Далее разберем более подробно функции клавиш. Для этого делаем двойной клик по не назначенной клавише, и видим ее параметры конфигурации:
В этом меню мы можем выбрать режим “Макро клавиша”, или выбрать временный или постоянный переход на уровень от 0 до 3. Для каждого уровня можно назначить свой уникальный макрос, т.е. в итоге получаем 64*4=256 уникальных макросов. Возможности макрос клавиши:
Более подробное описание можно найти в руководстве пользователя.
Вот так выглядит мой второй вариант клавиатуры на 64 кнопки с USB интерфейсом:
Все иконки я делал в графическом редакторе размером 103*103 пикселя и распечатывал на цветном принтере. Картинки, естественно, выбирал на свой вкус и цвет.
Почти на все кнопки назначена уникальная комбинация клавиш. Я использовал комбинации вида: Ctrl+Alt+Shift+’клавиши 0-9, A-Z, вкл. символьные’. Если комбинаций не хватает, добавляю к ним еще и кнопку “Win”. Комбинации из 4-5 кнопок обычно не приводят к конфликтам с Windows и ПО, т.к. используются крайне редко.
Теперь подробнее о некоторых клавишах.
— это кнопки управления слоями, они производят временный перехода на уровень L1 и уровень L2. Уровень L0 задан по умолчанию. L3 на данный момент не использую, так как 192 комбинации мне хватает.
Далее про физически выделенный блок управления редактором скриншотов (в моем случае это Snagit Editor).
Первый ряд сверху — дополнительные профили снятия скриншота.
Из кнопок управления инструментами:
Отдельно отмечу кнопку сохранения.
— это макрос нажатия клавиш такого вида:
Ctrl+S ⇒ пауза 1,2s (что бы успело отобразится окно сохранения) ⇒ Enter
Позволяет одним нажатием сохранить отредактированный скрин на жесткий диск.
Этот блок кнопок в моей работе самый используемый, по этому находится в самом удобном месте.
Все остальные клавиши работают через программу для создания макросов нажатия клавиш, которая и выполняет все действия. Это позволяет легко изменять конфигурацию и переназначать кнопки без ограничений физических макро-клавиш в 42 символа. Также это позволяет выполнять и другие действия, не возможные в только “железном” исполнении. Как пример: запуск программ, запись макросов нажатий без ограничения, открытие URL, вставка заранее подготовленного текста, управление окнами, различные действия с системой и мн. другое.
— открывает журнал менеджер буфера обмена. При переходе на слой L1 эта же кнопка открывает раздел “избранное”;
— Поиск текста из буфера обмена в Гугле. Тут используется такой макрос нажатий:
Win+R ⇒ (пауза 0.3с) ⇒ “www.google.com/search?as_q=(Ctrl+V)” ⇒ Enter
— открывает url, который находится в буфере обмена. Макрос:
Win+R ⇒ (пауза 0.3с) ⇒ “(Ctrl+V) ⇒ Enter”
Ссылка открывается в браузере по умолчанию.
— различные варианты запуска ADB при помощи BAT файлов:
ADB “adb logcat -s mLog:D”
Прописываем в bat:
adb logcat -c
adb logcat -s mLog:D
Прописываем в bat:
rem @echo off
set dd=%DATE%
set tt=%TIME%
set /a ddd=%dd:~0,2%
IF %ddd% LSS 10 (
SET day=0%ddd%) else (
SET day=%ddd%)
set month=%dd:~3,2%
set year=%dd:~6,4%
set /a ttt=%tt:~0,2%
IF %ttt% LSS 10 (
SET hour=0%ttt%) else (
SET hour=%ttt%)
SET minute=%tt:~3,2%
SET sec=%tt:~6,2%
adb logcat -s mLog:D > C:ADB"ADB_logs_"%hour%"."%minute%"."%sec%_%day%.%month%.%year%.txt
— работа с почтой;
Личная, рабочая и две тестовых. В них используются два слоя:
— кнопка при помощи bat файла открывает рабочую папку:
explorer.exe F:Dropboxwork_doc
— открывают гугл-доки с чек-листами и спецификацией по текущему проекту в Chrome (по дефолту в системе стоит FF, но Chrome с гугл-доками работает лучше);
Текст команды:
start Chrome.exe https://docs.google.com/document/d/1OYBf….
— включает/отключает настольную лампу при помощи USB HID реле, которое управляется через консоль;
Также приведу пример одной из разовых задач, которую я выполнял буквально пару дней назад.
Задача:
— проверить счетчик, который сортирует людей по списку их партийной принадлежности, всего 7 партий.
— что бы дойти до выбора партии, надо ответить на 50 вопросов; все вопросы каждый раз хаотически перемешиваются.
— в тесте есть ловушки, которые бракуют не честных ответчиков, такие как: защита от линейных ответов, сравнивание ответов на однотипные вопросы, вопросы-ловушки и т.п.
Дано:
Список правильных ответов, которые проходят все валидации сервера в txt файле.
Решение:
Проект маленький и короткий. Времени на проверку — час-два, а сама задача — разовая. Можно конечно просто ходить по списку, и находить правильные ответы в текстовом файл, но это вредно для нервов. Я за минуту на свободной клавише сделал макрос, который выполняет такую последовательность нажатий клавиш:
Ctrl+F ⇒ Ctrl + V ⇒ Enter ⇒ Esc
После этого процесс проверки выглядел так:
Результат: пройдено около 600 вопросов с вполне приемлемым уровнем комфорта, нервы спасены, заказчик рад.
После этого пришла мысль о том, что надо несколько неиспользуемых кнопок обозначить цветными фигурами, что бы можно было использовать их для разовых/временных задач.
Остальные кнопки ничем особенным не выделяются. И о их назначении, в большинстве случаев, можно догадаться по картинкам.
На практике я использовал клавиатуры только одного бренда. Но, общий принцип и возможности у всех примерно схожи. Разнятся они в основном только внешним оформлением и количеством кнопок, которое бывает от 4 до 128 шт.
Их можно найти и в интернет магазинах, и в конторах по установку торгового оборудования. Так же есть такие клавиатуры на aliexpress и ebay. Они сейчас не сильно пользуются спросом, и проблем с приобретением за невысокую стоимость возникать не должно.
Отдельно хочу отметить вот этого производителя — X-keys [5]. Как я понял, у них упор сделан на аудиторию геймеров, по этому внешне их клавиатуры выглядят куда лучше, чем модели для торгового оборудования. Плюс у них есть клавиатуры с очень интересными конфигурациями. Вот несколько примеров:
Вот несколько фотографий в разобранном состоянии (картинки кликабельные):
[7]
[8]
[9]
[10]
Кстати, как и многие другие POS клавиатуры она защищена от попадания жидкости и грязи на клавиатуру.
Статья получилась большая, но, надеюсь, она кому-то поможет в реализации своих идей. Буду рад вопросам и предложениям в комментариях.
И на последок, фото моей первой клавиатуры. Не пугайтесь. Она пережила много изменений, и покамест временно отправлена на заслуженный отдых.
Автор: Evgeniy_M
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/gadzhety/115872
Ссылки в тексте:
[1] Из Википедии: http://www.wikipedia.org/wiki/POS-клавиатура
[2] Image: https://habrastorage.org/files/2e0/418/485/2e04184855d54e34af0c15e3d71dcdb4.jpg
[3] mail.google.com/mail/u/0/#inbox: https://mail.google.com/mail/u/0/#inbox
[4] mail.google.com/mail/u/0/#inbox?compose=new: https://mail.google.com/mail/u/0/#inbox?compose=new
[5] X-keys: http://http://xkeys.com/xkeys.php/
[6] Image: https://habrastorage.org/files/1d4/496/54d/1d449654de664816bc4a411c4facd5ee.png
[7] Image: https://habrastorage.org/files/806/756/db1/806756db13cf4761ba34996e05050852.jpg
[8] Image: https://habrastorage.org/files/392/047/f1c/392047f1c960480d929db5cb740ae6f6.jpg
[9] Image: https://habrastorage.org/files/137/480/e50/137480e50d604d92ac11104654c9ccee.jpg
[10] Image: https://habrastorage.org/files/f4a/779/0bf/f4a7790bf9c24e578ee95b95d1ee1ee1.jpg
[11] Источник: https://geektimes.ru/post/273182/
Нажмите здесь для печати.