Подключаем Android-смартфон к тестовому серверу без проблем
Привет! Меня зовут Константин Волчков. Я работаю на позиции Software Tester.
Я, как и все мои коллеги во время профессиональной деятельности сталкиваюсь с некоторыми препятствиями. И, зачастую, решение находится в статье, опубликованной человеком с желанием поделиться своими знаниями и опытом. Поэтому эта статья — результат моего желания поделиться информацией и опытом с коллегами. Итак, начнем.
Проблема
Я столкнулся с проблемой тестирования Android-приложения на телефоне после переезда тестового окружения с локальных серверов на Azure. А именно — я не мог подключить приложение к нашему тестовому серверу.
Если раньше приложение подключалось без каких-либо дополнительных действий, то теперь IP-адрес сервера и его хост-имя стало необходимо указывать в hosts-файле.
И если в случае с Windows изменение hosts-файла не вызывает никаких трудностей, то на мобильном устройстве без root-доступа это оказывается проблематично.
В ходе поисков было найдено три решения, позволяющие подключить Android-девайс к серверу.
Решение 1. Временное
В качестве первого решения по редактированию hosts-файла на телефоне было использовано Android приложение Hosts Go.
После загрузки из Google Play и установки оно позволяет отредактировать hostsфайл без root-доступа на мобильном устройстве.
Это решение простое и быстрое. Приложение Hosts Go понятное и удобное в использовании. И все же, в процессе тестирования я обнаружил достаточно большой недостаток, а именно: нестабильность работы приложения. Вчера оно работало, а сегодня уже не хочет. Поэтому я начал искать другие варианты.
Решение 2. Стабильное
Идея использования прокси сервера показалась наиболее эффективной.
Forward Proxy сервер обеспечивает соединение с сервером клиента или группы клиентов, находящихся в одной сети. По этой схеме весь трафик будет проходить через рабочий ноутбук и, как следствие, файл hosts станет доступным для мобильного устройства.
Я использовал прокси-сервер Squid, а точнее, уже подготовленный образ Squid в Docker-контейнере. Весь процесс настройки можно разделить на два шага — установка и запуск сервера и настройка прокси на мобильном устройстве.
1. Установка и запуск сервера
Скачиваем образ:
docker pull babim/squid
Запускаем прокси сервер:
docker run --name squid -d --restart=always --publish 3128:3128 babim/squid
Проверяем, что сервер заработал и порт 3128 используется:
netstat -ano -p
2. Настройка прокси на мобильном устройстве
На Android настройка прокси происходит следующим образом:
- Подключаем телефон к той же сети, что и ноутбук с прокси сервером.
- Открываем настройки.
- Переходим в раздел Wi-Fi.
- Долгое нажатие на подключение (либо нажатие на шестеренку).
- Выбираем пункт Modify Network.
- В Advanced Options выбраем Manual.
- Вводим IP адрес прокси сервера.
- Вводим порт .
- Сохраняем.
После этого тестовое окружение становится доступным.
Вариант с использованием прокси сервера занимает время на настройку, но обеспечивает стабильную и спокойную работу. И все же, у этого решения могут быть свои сложности. А именно: невозможность подключиться к аналогичной сети, либо то, что устройства в одной сети не видят друг друга. И по этому поводу, третье решение.
Решение 3. Запасное
Третье решение — это использование хотспота на ноутбуке и подключение к нему Android-смартфона. Весь процесс настройки для Windows устройств подробно описан на странице поддержки Microsoft.
Но я столкнулся с тем, что на моем рабочем ноутбуке заблокирована возможность включения хотспота, поэтому я нашел стороннюю программу Connectify.
После загрузки и установки приложение позволяет создать точку доступа, к которой подключается телефон. Файл hosts становится доступным и телефон получает доступ к тестовому окружению.
Это решение, на мой взгляд, самое простое из всех трех. Но функционал Connectify и подобных программ может быть ограничен в бесплатных версиях. К примеру, Connectify устанавливает лимит на время использования точки доступа. После каждого часа хотспот выключается и нужно запускать его снова. По этой причине не могу назвать это решение удобным в долгосрочной перспективе.
Итог
Я столкнулся с проблемой подключения Android-устройства к тестовому окружению и подобрал три варианта ее решения. У каждого из них есть свои плюсы и минусы. Для себя я определил второе решение, как наиболее удобное и стабильное для работы.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів