Запуск кількох браузерів одним кліком, Normal testing

From the programmer's worst friend

Запуск кількох браузерів одним кліком

Іноді хочеться запускати одним рухом одразу кілька програм. Щоб відразу три бразуери відкривалися з уже відкритими сторінками з додатком, що тестується.

Для цього потрібен дрібний, але виконуваний файл.

Windows

Виходить такий bat-файл у два рядки:

rem open one link in different browsers "C:\Program Files\Opera\Opera.exe" http://ya.ru "C:\Program Files\Internet Explorer\iexplore.exe" http://ya. ru "C:\Program Files\Mozilla Firefox\firefox.exe" http://ya.ru

Замість "http://ya.ru" можна вказувати і "ya.ru" - браузер відкриє все як треба, звичайний протокол він за умовчанням має на увазі.

Як записати такий файл

  1. Відкриваємо будь-який notepad
  2. Вганяємо в нього текст скрипта (зелений і червоний рядки)
  3. Save as – вказуємо розширення файлу .bat. Наприклад:startbrowsers.bat
  4. Відкриваємо цей файл стандартним даблкліком. Спершу відкриється "маленьке чорне вікно DOS", потім почнуть запускатися вказані в тексті бразуєри.
  5. Найважливіше — ці браузери мають бути заздалегідь встановлені… 😉

Ubuntu

Звичайно, теж можна "замутити bat-файлик", і навіть функціональніший.

Можна вказати кілька програм, і вони будуть відкриватися одна за одною через певний проміжок часу, наприклад, через п'ять секунд.

Bash знає команду "sleep 5" - занурити процес у сон на 5 секунд.

Проблема лише в тому, що після запуску, наприклад, Opera, запущений процес не поверне управління в bash (термінал, на вашу думку). Він застопориться, і чекатиме доти, доки Оpera не закриється. Лише після того, як користувачзакриє відкритий таким чином браузер Opera, bash «поспить» 5 сек, і запустить наступний браузер — Firefox.

Щоб уникнути цього, потрібно дописати & після команди, щоб процес відчеплювався від шелла і йшов у бекграудн:

#!/bin/bash /usr/bin/opera ya.ru & sleep 5 /usr/bin/firefox ya.ru & echo "Done"

У цьому випадку всі зазначені програми будуть відкриті з інтервалом через п'ять секунд, і будуть доступні для подальшої взаємодії з ними.

А наприкінці відкриття термінал повідомить, що все готове – «Done».