RSS
 

Записи по метке ‘android’

Тестирование Android-приложения с помощью Eclipse + Testdroid Recorder

13 Апр

1. Создайте учетную запись на сайте «Testdroid».
2. Установите плагин «Testdroid» в Eclipse: «Help» -> «Eclipse Marketplace», в поле «Find» вписываем «Testdroid Recorder». После того, как плагин будет найден, жмите «Install».
3. В качестве примера создайте Android-проект из sample: «File» -> «New» -> «Other» -> «Android Project». В окне «New Android Project» задать имя проекта и выбрать «Create project from existing samples», нажать кнопку «Next». В следующем окне выберите нужную версию Android, которая имеет примеры. В окне «Select Sample» выберите «NotePad» и нажмите кнопку «Finish».
4. Выделите созданный проект и вызовите контекстное меню. Затем «Android Tools» -> «New Test Project». Задайте имя проекта <AddNoteTest> и сохраните проект.
5. Выделите созданный проект и вызовите контекстное меню. Затем «Build Path» -> «Configure Build Path…». В открывшемся окне перейдите на вкладку «Libraries», нажмите кнопку «Add External JARs» и выберите файл robotium-solo-<version>.jar (последнюю версию можно скачать на оф.сайте). Перейдите на вкладку «Order and Export» и отметьте чек-бокс напротив robotium-solo-<version>.jar. Нажмите кнопку «ОК».
6. В пакете com.example.android.notepad.test создайте новый класс с именем <AddNoteTest> и со следующим содержанием:

package com.example.android.notepad.test;
 
import android.test.ActivityInstrumentationTestCase2;
import com.example.android.notepad.NotesList;
import com.jayway.android.robotium.solo.Solo;
 
public class AddNoteTest extends ActivityInstrumentationTestCase2{
 
	private static final String APP_PACKAGE_NAME = "com.example.android.notepad";
	protected Solo solo;
	protected Integer screenWidth = null;
	protected Integer screenHeight = null;
 
	public AddNoteTest() {
		super(APP_PACKAGE_NAME, NotesList.class);
	}
 
	public void setUp() throws Exception {
		solo = new Solo(getInstrumentation(), getActivity());
	}
 
	public void testAddNote() throws Exception {
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickOnMenuItem("Add note", true);
		solo.waitForActivity("NoteEditor", 500);
		solo.sleep(2500);
		solo.clearEditText(0);
		solo.enterText(0, "Hello world!");
		solo.sleep(2500);
		solo.goBack();
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickOnMenuItem("Add note", true);
		solo.waitForActivity("NoteEditor", 500);
		solo.sleep(2500);
		solo.clearEditText(0);
		solo.enterText(0, "New");
		solo.sleep(2500);
		solo.goBack();
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickInList(1);
	}
 
	@Override
	public void tearDown() throws Exception {
		//Robotium will finish all the activities that have been opened
		solo.finishOpenedActivities();
	}
}

7. Выделите созданный проект и вызовите контекстное меню. Затем «Run As…» -> «Android JUnit Test». В зависимости от того, где вы тестируете приложение (эмулятор или телефон), на экране устройства запуститься приложение, в котором начнут автоматически происходить действия, описанные в тесте.

В следующей заметке я расскажу, как с помощью Testdroid Recorder создавать Record/Play тесты.

 
Нет комментариев

Опубликовано в рубрике Тестирование

 

Что общего между элементом списка и контрацептивом?

23 Фев

Оказывается, общего может быть много. К примеру, вот так может выглядеть элемент «раскрыть» (стрелка вниз) у списка, если в его контейнере содержится длинное название, которое автоматически переносится на следующие строки. Большому элементу – большой…

 
Нет комментариев

Опубликовано в рубрике Разное

 

Декомпиляция приложений *.apk

04 Фев

В последнее время стал часто получать на свой мобильный телефон мошеннические SMS и MMS, просящие перейти на сайт, чтобы «просмотреть открытку/сообщение», «скачать приложение» и т.п. Сегодня решил проверить, что конкретно мне хотят подсунуть. Перейдя по одной из таких ссылок через компьютер, было загружено Android-приложение (*.apk) с именем  «opera_6.5.1». В сети сейчас гуляет много вирусов, маскирующихся под якобы новую версию браузера (в прочем, не самого популярного за рубежом, но очень любимого в СНГ), которую срочно нужно обновить. Доверчивые пользователи, скачавшие такое «обновление», получают на свое мобильное устройство вирус, который отсылает с их телефона смс-сообщения на платные номера (естественно, без ведома хозяина), в результате чего пользовательский счет человека в короткий срок может достичь нулевой отметки.

Где-то на Хабре я уже читал статью, как один человек решил декомпилировать ту самую Оперу, только в формате *.jar, чтобы детально разобраться в коде вируса. Но мне попалось приложение в формате *.apk, поэтому я тоже решил его декомпилировать (исключительно технический интерес!).

Для декомпиляции *.apk-приложения мне понадобились только две составляющие: dex2jar (утилита для извлечения классов, которые уже можно декомпилировать) и Java Decompiler (то, чем будем декомпилировать). Для тех, кому необходимо получить ресурсы приложения, то нужно воспользоваться еще и ApkTool.

# C:\Decompile_apk_app\dex2jar-0.0.9.7\dex2jar C:\Decompile_apk_app\opera_6.5.1.apk – данная команда позволяет получить файл opera_6.5.1_dex2jar.jar, который с успехом открывается с помощью Java Decompiler.

# C:\Decompile_apk_app\apktool\apktool d -f C:\Decompile_apk_app\opera_6.5.1.apk C:\Decompile_apk_app\Opera – команда позволяет получить файлы манифестов, ресурсов приложения, и файлы байт-кода в формате *.smali. Здесь можно найти список команд, присутствующих в байт-коде.

Вот так не сложно можно получить доступ если не к 100% исходникам приложения, то хотя бы к той части, которую можно осмысленно понять.

 
Нет комментариев

Опубликовано в рубрике Разное

 

Установка плагина Android для NetBeans IDE

24 Дек

Для того, чтобы создавать проекты под Android в среде NetBeans, необходимо установить соответствующий плагин. Т.к. для NetBeans’а на данный момент нет официального плагина Android, как для Eclipse, то придется воспользоваться сторонней помощью.

В NetBeans’е открываем окно «Подключаемые модули» («Сервис» -> «Подключаемые модули») и переходим на вкладку «Настройки». Жмем кнопку «Добавить». В появившемся окне «Настройка центра обновлений» задаем имя «nbandroid» (так называется проект плагина) и URL-адрес «http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml». Жмем «ОК», переходим на вкладку «Доступные подключаемые модули», на всякий случай жмем кнопку «Перезагрузить каталог», после чего в строке поиска вводим «Android». В области доступных модулей должны появиться:

- Android
- Android Test Runner for NetBeans 6.9.1
- Android Test Runner for NetBeans 6.9
- Android Test Runner for NetBeans 7.0+

Необходимо отметить модуль «Android» вместе с подходящим модулем «Android Test Runner» для вашей версии NetBeans и нажать кнопку «Установить», после чего перезагрузить NetBeans.

После выполнения этих действий для создания станут доступны два проекта – «Android Project» и «Android Test Project».

nbandroid

 
Нет комментариев

Опубликовано в рубрике Разное, Тестирование

 

Способы установки приложения в ОС Android

23 Дек

Есть несколько вариантов установки приложения в устройство под управлением ОС Android:

  1. в режиме отладки по USB – в настройках устройства необходимо указать, что при подключении по USB устройство будет работать в режиме отладки («Настройки» -> «Приложения» -> «Дополнительные опции» -> отметить пункт «Отладка USB»). Установить приложение необходимо, используя команду «adb» из Android SDK (я в таких целях использую bat-файл, очень помогает упростить рутинные задачи): adb install -r application.apk
  2. в режиме USB-накопителя – в настройках устройства необходимо указать, что при подключении по USB устройство будет использоваться как USB-накопитель («Настройки» -> «Карта SD и память телефона» -> отметить «Устройство хранения данных»), а также разрешить установку приложений не из Android Market («Настройки» -> «Приложения» -> отметить пункт «Неизвестные источники»). Приложение, которое необходимо установить, нужно скопировать в какую-нибудь папку устройства, после чего, используя любой из доступных файловых менеджеров (скачать можно с Android Market), перейти в эту папку, найти скопированное приложение и установить его.
  3. через Android Market с устройства при условии, что необходимое приложение там присутствует.
 
Нет комментариев

Опубликовано в рубрике Разное, Софт

 

Тестирование Android-приложения с помощью эмулятора

15 Дек

Одним из проектов, который мне необходимо тетсировать на новой работе – это Android приложение, позволяющее просматривать стереоскопические изображения на экране мобильного устройства. Т.к. на данный момент существуют всего два устройства, которые имееют 3D-экран (HTC EVO 3D и LG Optimus 3D), то приложение заточено именно под них, хотя никто не запрещает запускать его на других Android-устройствах, только толку от этого будет не больше, чем обычного вьюира.

На данный момент у нас на работе всего одно устройство (HTC EVO 3D) на котором можно непосредственно тестировать, хотя в скором времени планируется добыть и LG Optimus 3D. Но помимо физического устройства, можно же тестировать и на эмуляторе, хотя ряд функций все же протестировать не удасться (к примеру, снять изображений на камеру устройства и отправить его в приложение).

Для того, чтобы можно было запустить Android-эмулятор у себя на компьютере, необходимы следующие вещи:

1. Java Development Kit (JDK)
2. Android SDK

Как настроить эмулятор и устанавливать в него приложения можно прочитать в этой статье. А здесь можно узнать, как добиться того, чтобы Android Market присутствовал в эмуляторе.

Конечно, здесь речь идет в большей степени про ручное функциональное тестирование. Хотя, никто не запрещает автоматизировать процессы, об этом неплохо написано в здесь.

 
Нет комментариев

Опубликовано в рубрике Софт, Тестирование

 

Про выставку MWC

18 Фев

На выставке Mobile World Congress, которая проходила в Барселоне, был представлен ряд интересных, на мой взгляд, смартфонов и несколько планшетов. Главной «бомбой» стал сматрфон компании LG под названием Optimus 3D. Как видно из названия, в нем присутствует заезжая вдоль и поперек технология 3D, по которой люди чуть ли не сходят с ума. Сейчас уже трудно представить фильм, показываемый в кинотеатре, который бы не обладал стереоэффектом. Optimus 3D умеем не только показывать объемистую картинку, но еще и снимать фото и видео в формате 3D, в связи с чем на обратной стороне смартфона расположились две камеры. Если кому новоявленное 3D не нужно, то можно обратить внимание на Optimus 2x, который построен на новейшей и очень производительной платформе NVIDIA Tegra 2. Одними смартфонами LG не стала ограничиваться, ведь сейчас столько разговор про планшетники, мода на которых только начинает набирать обороты, и каждый уважаемый себя производитель просто обязан иметь в своем арсенале хотя бы одну модель планшетного компьютера. У LG выпущенный планшетник называется Optimus Pad и также построен на платформе NVIDIA Tegra 2. Правда, мой привыкший вкус к формату и размеру экрана, как у iPad, не оценил по достоинству 8,9 дюймовый экран Optimus Pad. Планшетник показался немного вытянутым, и от этого потерял привлекательность в моих глазах.

За LG проследуем к Samsung‘у, который представил на выставке смартфон Galaxy S 2 и планшет Galaxy Tab 10.1 (название для планшетника более чем бредовое). Galaxy S 2 оснащен двухядерным процессором с частотой 1 ГГц, что весьма неплохо. Тенденция этого года – даешь больше вычислительных мощностей! Два года назад было трудно представить, что совсем скоро нас ожидают телефоны с двухядерными процессорами, а тут такое… В общем, Galaxy S 2 – очень хороший телефон, правда, выполнен опять, как и его предшественник Galaxy S, весь в пластмассе. Планшетник у Samsung’а получился тоже неплохим, тут и экран побольше (10,1 дюйм), и также два ядра процессора, и хорошая емкость аккомулятора (6860 мАч).

Теперь перейдем к японско-шведскому тандему в лице Sony Ericsson. Тут все модели серии Xperia. Был представлен игровой телефон Xperia Play – я-ля урезанная PSP + функция звонков (об этом гаджете еще давно вели полемику, т.к. само по себе устройство весьма необычное), Xperia Pro – красивый слайдер с кверти-клавиатурой, Xperia Neo – просто неплохой телефон.

HTC – куда же без этой тайваньской компании, которая выпускает лучшие смартфоны (чисто субъективное мнение). Были представлены такие модели, как Wildfire S – бюджетный вариант смартфона, Desire S – продолжение легендарной линейки Desire, теперь мощнее по сравнению с первым Desire, хотя, по прежнему без двухядерного процессора, и наконец Incredible S – опять же, обычный продвинутый смартфон. Но больше всех на стенде HTC привлекло внимание даже не новые смартфоны, а их первый планшет под названием Flyer. Дизайнеры постарались на славу, планшет выглядит прекрасно, да и сам по себе мощный (1,4 ГГЦ), правда, экран маловат, всего 7 дюймов. Так что устройство больше похоже даже не на планшет, а на записную книжку.

Acer тоже представило несколько новинок, но они, на мой искушенный взгляд, ничем особых среди конкурентов не выделяются.

Ну и напоследок – все описанные выше устройства работают на ОС Android, кто на 2.2, кто на 2.3, а планшеты – на 3.0 (кроме Flyer).

 
Нет комментариев

Опубликовано в рубрике Железячки