Установка среды разработки мобильных приложений с применением виртуальной машины практическая работа
VirtualBox — Запуск Android эмулятора в виртуальной среде для тестирования Android проекта
Введение
В данной статье я постараюсь описать пример инфраструктуры для автотестов Android приложений (mobile automation), а именно, среду для проведения тестранов UI автотестов на эмуляторе Android девайса в виртуальной среде.
Требования:
Для Android эмулятора нужна поддержка Intel Virtualization Technology или AMD Virtualization. Поэтому часто тестировщик сталкивается с необходимостью запуска тестранов только в нативной среде ПК с прямым доступом к центральному процессору.
В этом случае схема получается такая:
Трудности:
Невозможно легко пересоздать среду эмулятора.
Среда не создаётся перед проведением тестирования, и после проведения не удаляется, поэтому среда может влиять на тестируемое приложение.
Починка и настройка среды занимает много времени.
Предлагаемое решение в данной статье:
Создать VM с использованием возможностей nested virtualization VirtualBox (более подробное описание технологии в этой статье).
Пробросить поддержку Intel-VT или KVM внутрь созданной виртуальной машины.
Изнутри VM создать и запустить Android эмулятор девайса.
Провести тестран UI тестов приложения.
После проведения тестирования уничтожить VM.
В этом случае схема получится такая:
Предполагаемые преимущества:
VM можно автоматически создавать перед проведением тестирования, а после окончания уничтожать. В таком случае каждый новый тестран будет проведен в идеально чистых условиях.
Уменьшится время поддержки среды и управляющего ПО, так как не нужно каждый раз руками ничего устанавливать и чинить неисправности инвайронмента.
В настоящей статье будет использоваться оборудование:
процеcсор: Intel i5-1035G1
в BIOS включена поддержка виртуализации процессора
Шаг 1: Установка ПО на нативную OS
Отдельно обращу внимание на управление машиной. Будем использовать протокол VNC для создания удобного удаленного рабочего стола. Протокол универсальный, для Linux, Windows, Mac и т.д.
x11vnc сервер
Запуск с параметрами:
Установка VirtualBox
Вводим в командной строке:
Создание VM
Мы пойдем по самому простому пути и создадим VM из интерфейса VirtualBox с такими характеристиками. В дальнейшем создание VM будет code-first
Nested Virtualization можно также включить из командной строки:
Далее переходим в саму VM.
Шаг 2: Установка ПО на VM
В первый раз мы установим всё руками. В дальнейшем весь установочный сценарий будет помещен в Packer, что позволит нам создавать VM с нужными настройками каждый раз перед началом тестирования.
Устанавливаем последний образ Ubuntu с официального сайта.
Установка KVM
Установка Android command line tools
Проверяем, что sdkmanager работает и Android SDK доступен:
Устанавливаем Android tools
Устанавливаем Git и клонируем проект
В данном примере я использую пустой проект мобильного Android приложения. В нём уже есть дефолтный интеграционный тест. Нам этого будет вполне достаточно.
Шаг 3: Проведение тестирования проекта на созданном Android эмуляторе
ADB видит подключенный к нему эмулятор:
Негативный тест
Чтобы убедится, в том что именно позволило нам сбилдить тесты, мы сделаем один негативный тест и воспроизведем запуск эмулятора в обычной VM.
Переустановка VirtualBox на родительской машине (чтобы избежать ошибочное сохранение конфигов)
VM мы создаём без проброса виртуализации и с одним CPU:
В созданной VM мы не устанавливаем:
Остальные шаги аналогичны шагу №2 с установкой ПО. Попробуем еще раз наш тестран. Обратите внимание, что ADB также видит эмулятор:
Ура! Тест не пройден! Никогда еще так не радовался проваленному тестрану:
Падает PackageManager, как и обычно при запуске из виртуальной среды без аппаратной поддержки процессора:
Заключение
Мы сделали первый этап построения инфраструктуры для проведения автотестов Android приложений. Следующим этапом должно стать упаковка описанного выше сценария в Packer (ссылка на официальный сайт) который умеет работать с образами VirtualBox. Затем весь сценарий мы попробуем запустить из CI Jenkins. Если учесть, что плагин для него уже порядком устарел, то будет очень интересно.
Все результаты опубликую, как пополнения к этой статье.
В идеале, у нас должна получится code-first инфраструктура для тестрана UI и интеграционных автотестов для Android приложений, которую можно поднять на любом современном офисном ПК, которая работает автономно, билдит тесты на родных Android эмуляторах и есть не просит.
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ СТУДЕНТАМ ДЛЯ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКИХ РАБОТ С ПОМОЩЬЮ ВИРТУАЛЬНОЙ МАШИНЫ VIRTUAL BOX
Министерство образования и науки Самарской области
Министерство имущественных отношений Самарской области
Государственное бюджетное профессиональное
«Чапаевский губернский колледж им. О.Колычева»
СТУДЕНТАМ ДЛЯ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКИХ РАБОТ С ПОМОЩЬЮ ВИРТУАЛЬНОЙ МАШИНЫ VIRTUAL BOX
по ОП 01 Операционные системы и
ОП 07 Операционные системы и среды
специальности 09.02.03 Программирование в компьютерных
09.02.01 Компьютерные системы и комплексы
Публикуется на основании решения
Методического совета ГБПОУ СОЧГК им. О.Колычева,
Протокол № __ от ___.___. 2019 г.
Составители: Суворова Л.Е., преподаватель
специальных дисциплин образовательной
программы среднего профессионального
образования ППССЗ ГБПОУ СОЧГК им.
Редактор: Захарова Е.М., заместитель директора по учебно-
методической работе образовательной программы
среднего профессионального образования ППССЗ
ГБПОУ СОЧГК им. О.Колычева
Рецензент: Королев С.Ю., генеральный директор ООО «Камелот»
Методические рекомендации предназначены для студентов специальностей 09.02.01 Компьютерные системы и комплексы и 09.02.03 Программирование в компьютерных системах для выполнения практических работ в соответствии с действующим учебным планом.
Данное пособие включает рассмотрение интерфейса программы Virtual Box и описание работы с ней.
Рекомендации могут быть использованы студентами и преподавателями других средних специальных учебных заведений.
1. Общие сведения о Virtual Box
2. Установка симулятора Virtual Box
3. Создание виртуальной машины
4. Запуск виртуальной машины
5. Установка операционной системы Windows XP на виртуальную машину
6. Установка операционной системы Linux Debian на виртуальную машину
7. Настройка аппаратной части виртуальной машины
8. Работа с USB устройствами
Список источников информации
Методическое пособие разработано в соответствии с рабочими программи по ОП 01 Операционные системы и ОП 07 Операционные системы и среды. Соответствуют требованиям к результатам обучения:
Пособие нацелено на формирование следующих знаний и умений:
для ОП 07 Операционные системы и среды:
— использовать средства операционных систем и сред для решения практических задач;
— использовать сервисные средства, поставляемые с операционными системами;
— устанавливать различные операционные системы;
— подключать к операционным системам новые сервисные средства;
— решать задачи обеспечения защиты операционных систем;
— основные функции операционных систем;
— машинно-независимые свойства операционных систем;
— принципы построения операционных систем;
— сопровождение операционных систем;
для ОП 01 Операционные системы:
управлять параметрами загрузки операционной системы;
выполнять конфигурирование аппаратных устройств;
управлять учетными записями, настраивать параметрами рабочей среды пользователя;
управлять дисками и файловыми системами;
настраивать сетевые параметры, управлять разделением ресурсов в локальной сети.
основные понятия, функции, состав и принципы работы операционных систем;
архитектуры современных операционных систем;
особенности построения и функционирования семейств операционных систем « Unix » и « Windows »;
принципы управления ресурсами в операционной системе;
основные задачи администрирования и способы их выполнения в изучаемых операционных системах.
Данные рекомендации могут использоваться студентами на практических занятиях и как вспомогательный материал при выполнении практических работ по ОП 01 Операционные системы и ОП 07 Операционные системы и среды.
Методические рекомендации обеспечивают формирование у студентов умений самостоятельно и избирательно применять различные средства ИКТ, а также изучить возможности использования ИКТ для профессионального роста.
Методическое пособие может использоваться как студентами для самостоятельного изучения симулятора Virtual Box в рамках ОП 01 Операционные системы и ОП 07 Операционные системы и среды, так и преподавателями при проведении практических занятий.
1. Общие сведения о Virtual Box
Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых ОС ( только в проприетарной версии )
Поддержка 64-битных гостевых систем [1] (начиная с версии 2.0), даже на 32-битных хост-системах [2] (начиная с версии 2.1, для этого обязательна поддержка технологии виртуализации процессором)
Поддержка SMP на стороне гостевой системы (начиная с версии 3.0, для этого обязательна поддержка технологии виртуализации процессором)
Поддержка образов жёстких дисков VMDK ( VMware ) и VHD ( Microsoft Virtual PC ), включая snapshots (начиная с версии 2.1 [3] )
Поддержка iSCSI ( только в проприетарной версии )
Поддержка виртуализации аудиоустройств (эмуляция AC97 или SoundBlaster 16 на выбор)
Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
Поддержка цепочки сохраненных состояний виртуальной машины (snapshots), к которым может быть произведён откат из любого состояния гостевой системы
Поддержка интеграции рабочих столов (seamless mode) хостовой и гостевой ОС
Есть возможность выбора языка интерфейса (поддерживается и русскоязычный интерфейс).
2. Установка симулятора Virtual Box
Дистрибутив Oracle VM VirtualBox (установочный файл) можно найти по адресу: https://www.virtualbox.org/wiki/Downloads/
Выберете дистрибутив, соответствующий операционной системе хоста. Например, VirtualBox-4.2.6-82870-Win.exe, размера 92,9 МБ для Windows hosts x86/amd64. После запуска дистрибутива следуйте инструкциям, размещенным в диалоговых окнах.
Диалоговое окно запуска дистрибутива
При первом запуске Virtual Box должно появиться следующее окно:
Панель слева предназначена для списка установленных виртуальных машин. Поскольку виртуальные машины не установлены, то этот список пуст. Правая панель предназначена для отображения свойств выбранной виртуальной машины. Поскольку виртуальные машины не установлены, то в панели отображается приветственное сообщение.
3. Создание виртуальной машины
Для создания виртуальной машины необходимо нажать кнопку «Создать» После клика по кнопке «Создать» появится диалоговое окно:
Следуйте подсказкам в диалоговом окне. И все же:
Имя ВМ будет позже отображаться в списке ВМ, также оно будет использоваться для имени файла настроек ВМ. Полезнее использовать информативные имена, например, » XP_SP2″.
Тип выберете из списка операционных систем. Если вы хотите установить, что-то другое, что не перечислено в списке, выберете «Other».
Версия выбирается из предложенного списка и должна точно соответствовать имеющемуся дистрибутиву ОС.
В следующем окне будет предложение выбора размера оперативной памяти, которую Virtual Box будет выделять виртуальной машине при каждом запуске. Объем памяти указанный здесь будет не доступен для хоста и выделен гостевой операционной системе.
После выбора «Создать новый виртуальный жесткий диск» появится окно
После клика по кнопке «Next» следующее окно предложит выбрать формат хранения.
Рекомендуется динамический формат. После клика по кнопке » Next » на левой панели открытого окна «Oracle VM VirtualBox Менеджер» появится имя новой созданной ВМ. По умолчанию, диск ВМ будет располагаться в папке c:\Users\Имя пользователя\VirtualBox VMs\, где «Имя пользователя» — имя вашей учетной записи в Windows 7. В других ОС все будет немного отличаться. Оставляем предложенный объем диска ВМ без изменений или изменяем в случае, если необходимо ужаться или выделить дополнительное место. Очередное нажатие Next. Машина уже готова, для запуска ВМ осталось подключить образ загрузочного диска к приводу ВМ или указать, что мы будем использовать физический привод оптических дисков, если установочный диск у вас уже есть на отдельном оптическом носителе.
4. Запуск виртуальной машины
Имеются следующие методы запуска виртуальной машины:
дважды кликнуть мышью на ее наименовании в списке окна менеджера;
выбрать ее в списке окна менеджера и нажать кнопку «Запустить».
Эта команда откроет новое окно с ВМ, в котором появится окно «Выберите загрузочный диск» и виртуальная машина загрузку операционной системы, которую вы выберете для нее.
Далее все будет точно так же как при обычной загрузке операционной системы.
После установки нескольких гостевых операционных систем получим следующее окно:
5. Установка операционной системы Windows XP на виртуальную машину
2 ) Выбираем размер оперативной памяти, который может использовать виртуальная машина.
3) Создадим новый жёсткий диск. Выбираем пункт «Создать новый виртуальный жёсткий диск» и кликаем «Создать».
4 ) В новом окне указываем тип файла, который будет использован при создании диска « VDI (Virtual Box Disk Image) ». Нажимаем « Next ».
5) Указываем формат хранения «Динамический виртуальный жёсткий диск». Кликаем « Next ».
6) Вводим имя нового виртуального диска и указываем его размещение. Далее задаем его размер 10,00 ГБ. (рекомендовано для Windows XP ), щелкаем «Создать».
Виртуальная машина создана.
7) Заходим в «Настройки» в верхнем левом углу и нажимаем на вкладку «Общие». Кликаем на «Дополнительно». Настроим режим работы буфера обмена, между вашим компьютером и виртуальной машиной. В выпадающем списке «Общий буфер обмена» выбираем «Двунаправленный». Ставим галочку напротив «Использовать в полноэкранных режимах» и «Запоминать изменения в процессе работы ВМ ».
Переходим на «Процессор» и ставим галочку «Включить PAE/NX ».
10) Заходим на вкладку «Носители». Добавляем новое устройство «Добавить привод оптических дисков» и выбираем образ системы которую устанавливаем.
Машина готова к запуску нажимаем «Запустить».
11) Запускается установщик Windows XP нажимаем « Enter ». Попадаем в мастер раздела диска, но у нас диск всего лишь 10 ГБ, поэтому жмем « C » и нажимаем « Enter ».
12) Выбираем курсором «Форматировать раздел в системе NTFS » и жмем « Enter ».
Ждем, пока идет форматирование диска.
Далее установщик будет копировать ваши файлы на виртуальный жёсткий диск и после копирование перезагрузка виртуальной машины.
13) После завершение установки, извлечем образ диска с которого мы делали установку. Нажимаем на вкладку «Устройства» переходим на «Приводы оптических дисков» и выбираем «Изъять диск из привода».
6. Установка операционной системы Linux Debian на виртуальную машину
На экране появится окно выбора основных параметров операционной системы. Отметьте тот тип ОС, который собираетесь устанавливать, в данном случае это Linux.
Далее следует выбрать из выпадающего списка версию Linux, а именно Debian.
В окне выбора типа виртуального жесткого диска отметьте один из представленных вариантов. Кликните кнопку «Next» для продолжения.
Вот мы и закончили заполнение данных, которые были необходимы программе для формирования виртуального жесткого диска и виртуальной машины. Осталось дождаться окончания процесса его создания, после чего мы сможем приступить непосредственно к установке Debian.
Теперь нам понадобится дистрибутив Linux Debian. Его без труда можно скачать с официального сайта. Нужно лишь выбрать тот вариант образа, который соответствует параметрам вашего компьютера.
Смонтируйте образ при помощи UltraISO для того, чтобы у виртуальной машины появился доступ к данным с диска.
В окне запуска установки выберите строку «Graphical install» и нажмите кнопку «Enter» на клавиатуре.
Выберите язык установки и нажмите «Continue».
Выберите наиболее удобную для вас раскладку клавиатуры. Продолжите процесс установки.
Дождитесь момента окончания загрузки данных, необходимых для установки.
Придумайте пароль для учетной записи.
Укажите часовой пояс, в котором вы находитесь.
Выберите автоматическую разметку диска, этот вариант предпочтительнее для новичков. Установщик создаст разделы без участия пользователя, учитывая требования операционной системы.
Отметьте наиболее подходящую, на ваш взгляд, схему разметки. Новичкам рекомендуется выбрать первый вариант.
Ознакомьтесь со вновь созданными разделами. Подтвердите, что вы согласны с данной разметкой.
Разрешите форматирование разделов.
Дождитесь окончания установки базовой системы.
Установщик предложит вам установить дополнительное программное обеспечение из интернет-источника.
От участия в опросе мы также откажемся, так как это не обязательно.
Выберите то программное обеспечение, которое вы желаете установить.
Дождитесь окончания установки оболочки программного обеспечения.
Согласитесь на установку GRUB.
Выберите устройство, с которого будет запускаться операционная система.
Процесс установки Debian на VirtualBox довольной продолжительный. Однако при таком варианте инсталлировать операционную систему гораздо проще, хотя бы потому что мы лишаемся проблем, связанных с размещением двух операционных систем на одном жестком диске
Настройка аппаратной части виртуальной машины
Каждую виртуальную машину можно настроить с учетом особенностей ее использования. Кликом по кнопке » Настроить » открываем окно » Имя_ВМ – Настройки «.
Левая панель напоминает диспетчер устройств. Правая панель содержит наборы вкладок, соответствующие активному пункту левой панели. В нижней части правой панели – интерактивная справка. Разберем каждую вкладку отдельно.
Вкладка «Общие. Основные» содержит значения основных параметров нашей виртуальной машины.
Вкладка «Общие. Дополнительно» содержит следующие параметры:
«Папка для снимков» принимает значение пути для снимков ВМ. Снимки ВМ – это файловые снимки состояния, данных диска и конфигурации ВМ в определенный момент времени. На одну ВМ можно создать несколько снимков, содержащих отличные друг от друга настройки и установленные приложения.
«Общий буфер обмена» и «Drag’n’Drop» могут принимать четыре значения: «выключено», «только из гостевой ОС в основную», «только из основной ОС в гостевую», «двунаправленный», которые определяют, как будет работать буфер обмена между Вашей host-системой и виртуальной машиной.
«Сменные носители информации» может «запоминать изменения в процессе работы» (состояние CD\DVD-приводов, рекомендуется) либо нет.
«Мини тулбар» – это небольшая консоль, содержащая элементы управления виртуальной машиной, рекомендуется использовать в полноэкранных режимах, «расположить снизу экрана» по умолчанию.
Вкладка «Общие. Описание» содержит описание настроек.
Вкладка «Система. Материнская плата» содержит информацию:
о размере оперативной памяти;
о порядке загрузки;
о наборе микросхем, используемой ВМ;
о значениях других параметров, описанных в интерактивном меню.
Вкладка «Система. Процессор» содержит информацию о количестве процессоров, доступных ВМ и некоторых режимах их работы (описание режимов в интерактивной подсказке).
Вкладка «Система. Ускорение» содержит информацию о поддержке аппаратной виртуализации AMD-V или VT-x.
Вкладка «Дисплей. Удаленный дисплей» позволяет включить режим работы ВМ как сервер удаленного рабочего стола (RDP).
Вкладка «Дисплей. Удаленный дисплей» позволяет включить режим работы ВМ как сервер удаленного рабочего стола (RDP).
Вкладка «Носители» отражает образы виртуальных дисков и приводы хоста.
Вкладка «Аудио» отражает информацию об аудиодрайверах и аудиоконтроллере.
Вкладка «Сеть. Адаптер 1» отражает следующую информацию:
включение сетевого адаптера;
NAT (network address translation) обеспечивает подключение к внешнему миру (просмотр web, загрузки файлов и просмотра сообщений электронной почты в гостевой) с помощью сети хоста.
сетевой мост подключает вм к одной из установленных сетевых карт и обмену сетевыми пакетами напрямую, в обход сетевого стека вашей основной операционной системы.
внутренняя сеть может быть использована для создания программного обеспечения на основе сети, которая видна выбранной вм, а не приложений, запущенных на хосте или с внешним миром.
виртуальный адаптер хоста может быть использован для создания сети, содержащей хозяина и множество виртуальных машин, без необходимости физического сетевого интерфейса хоста. вместо этого, виртуальный сетевой интерфейс (похожий на интерфейс обратной связи) создается на хосте, обеспечивая связь между виртуальными машинами и хостом.
универсальный драйвер – редко используемый режим и тот же общий сетевой интерфейс, позволяет пользователю выбрать драйвер, который может быть включен в virtualbox или распределен в расширении пакета.
«Имя» используемого контроллера.
«Неразборчивый режим» задает политику режима данного виртуального сетевого адаптера, если он подключен к внутренней сети, виртуальному адаптеру или сетевому мосту.
Вкладка «COM-порты. Порт1» отражает информацию о номере порта и его подключении.
Выбор «USB» на левой панели позволит подключить USB-устройства, подключенные к хосту.
Выбор «Общие папки» на левой панели позволит подключить папки хоста с регулируемыми параметрами доступа.
Работа с USB устройствами
Закройте настройки и запустите гостевую Windows.
Подключите свое USB устройство.
После того, как вы нажмете на устройство – Virtual Box без предупреждений заберет у хостовой ОС ресурс и отдаст его гостевой операционной системе. Так что будьте аккуратны с сохранением данных на устройстве, прежде чем отдать его гостевой ОС.
Список источников информации