DroidScript
DroidScript
учимся и разрабатываем

Одновременное тестирование кода в разных браузерах

01.12.2017

О тестировании какого кода в браузерах пойдёт речь? О любом коде, который он может отобразить - HTML, CSS, JavaScript, PHP, Processing, X3D и т.д.

Для одновременного тестирования кода в разных браузерах нам потребуются следующие модули:

  1. Детектор изменения файла
  2. Сервер
  3. Клиенты
  4. Скрипт автоматизации

В разделе Qt Quick был показан пример построения данной системы без скрипта автоматизации, но необходимость перекомпиляции программ и написания части кода web-сокет сервера на Qt C++ вызывает неудобства. Более интересной является реализация сервера и детектора на Node.js, что позволит оперативно перезапускать сервер после изменения его кода.

Код сервера (server.js)

В показанном примере можно выделить два блока: обнаружения изменения целевой директории при помощи метода fs.watch и создания сервера.

При обнаружении изменения в директории (сохранении файла) метод обнаружения срабатывает два раза подряд. Избавление от этой особенности осуществляется с помощью защёлки lock.

Все объекты подключенных клиентов сохраняются в масиве listSockets и удаляются из него после своего отключения.

Код клиента (client.html)

В коде клиента вместо строки "IP компьютера" укажите IP-адрес компьютера, на котором будет запущен сервер - 127.0.0.1 для тестирования на локальном хосте или реальный IP-адрес компьютера в локальной сети.

Для запуска сервера переходим в папку расположения файла server.js, открываем командную стоку (cmd в Windows) и вводим:

node server.js

Если возникает сообщение об отсутствии модуля ws, то загружаем его:

npm install ws

После успешного запуска сервера в браузере открываем файл клиента client.html и консоль (F12) для просмотра логов..

Измените код в файле test.html целевой директории и сохраните его - браузер отобразит содержимое данного файла. Если всё работает, то можно перейти к написанию скрипта автоматизации на AutoHotkey.

Скрипт автоматизации multiview.ahk.

Скриптовый язык AHK чем-то напоминает JavaScript", что позволяет быстрее привыкнуть к его особенностям. Для редактирования ahk-файлов лучше использовать один из специализированных редакторов, например, SciTE4AutoHotKey.

После сохранения файла multiview.ahk делаем двойной щелчок на его названии или ярлыке. Если ошибок нет, то значок данного файла появляется в трее, что говорит об активности скрипта. После нажатия клавиши F2 на экране появятся окна браузеров с подключенным к серверу клиентами. После сохранения файла client.html они отобразят его содержимое.

© 2016-2024 
actech