Платформа Android включает интегрированную платформу тестирования, которая помогает вам тестировать все аспекты вашего приложения, а инструменты SDK включают инструменты для настройки и запуска тестовых приложений. Работаете ли вы в Eclipse с ADT или работаете из командной строки, инструменты SDK помогут вам настроить и запустить свои тесты в эмуляторе или на целевом устройстве.
Тестовая структура
Инструменты сборки и тестирования Android предполагают, что тестовые проекты организованы в стандартную структуру тестов, классов тестовых наборов, тестовых пакетов и тестовых проектов.
Инструменты тестирования в Android
Есть много инструментов, которые можно использовать для тестирования приложений для Android. Некоторые официальные, такие как Junit, Monkey, а некоторые сторонние инструменты, которые можно использовать для тестирования приложений для Android. В этой главе мы собираемся объяснить эти два инструмента для тестирования приложений Android.
- JUnit
- Обезьяна
JUnit
Вы можете использовать класс JUnit TestCase для выполнения модульного тестирования в классе, который не вызывает API-интерфейсы Android. TestCase также является базовым классом для AndroidTestCase, который вы можете использовать для тестирования Android-зависимых объектов. Помимо предоставления инфраструктуры JUnit, AndroidTestCase предлагает специфичные для Android методы установки, разрыва и вспомогательные методы.
Чтобы использовать TestCase, расширьте свой класс классом TestCase и реализуйте вызов метода setUp (). Его синтаксис приведен ниже —
public class MathTest extends TestCase { protected double fValue1; protected double fValue2; protected void setUp() { fValue1= 2.0; fValue2= 3.0; } }
Для каждого теста реализуйте метод, который взаимодействует с прибором. Проверьте ожидаемые результаты с помощью утверждений, указанных путем вызова assertTrue (String, boolean) с логическим значением.
public void testAdd() { double result= fValue1 + fValue2; assertTrue(result == 5.0); }
Методы assert сравнивают ожидаемые значения от теста с фактическими результатами и выдают исключение, если сравнение не удается.
Как только методы определены, вы можете запустить их. Его синтаксис приведен ниже —
TestCase test= new MathTest("testAdd"); test.run();
Обезьяна
Обезьяна UI / Application Exerciser, обычно называемая «обезьяной», представляет собой инструмент командной строки, который отправляет псевдослучайные потоки нажатий клавиш, касаний и жестов на устройство. Вы запускаете его с помощью инструмента Android Debug Bridge (adb).
Вы используете его для стресс-тестирования вашего приложения и сообщения об обнаруженных ошибках. Вы можете повторить поток событий, запуская инструмент каждый раз с одним и тем же начальным числом.
Особенности обезьяны
Обезьяна имеет много особенностей, но все они могут быть сведены к этим четырем категориям.
- Основные параметры конфигурации
- Операционные ограничения
- Типы событий и частоты
- Варианты отладки
Использование обезьяны
Чтобы использовать обезьяну, откройте командную строку и просто перейдите в следующий каталог.
android ->sdk ->platform-tools
Зайдя в каталог, подключите ваше устройство к ПК и выполните следующую команду.
adb shell monkey -p your.package.name -v 500
Эта команда может быть разбита на эти шаги.
- adb — Android Debug Bridge. Инструмент, используемый для подключения и отправки команд на телефон Android с настольного или портативного компьютера.
- shell — оболочка — это просто интерфейс устройства, который переводит наши команды в системные команды.
- обезьяна — обезьяна — инструмент тестирования.
- v — v означает многословный метод.
- 500 — это частота conut или количество событий, отправляемых на тестирование.
Это также показано на рисунке —
В приведенной выше команде вы запускаете инструмент обезьяны в приложении по умолчанию для Android. Теперь, чтобы запустить его в вашем приложении, вот что вам нужно сделать.
наконец, вы закончите, как показано ниже
Это также показано на рисунке ниже. При вводе этой команды вы фактически генерируете 500 случайных событий для тестирования.
пример
Приведенный ниже пример демонстрирует использование тестирования. Это базовое приложение, которое можно использовать для обезьян.
Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве, а затем выполнить шаги обезьяны, описанные в начале.
меры | Описание |
---|---|
1 | Вы будете использовать Android studio для создания приложения Android в пакете com.tutorialspoint.myapplication. |
2 | Измените файл src / MainActivity.java, чтобы добавить код активности. |
3 | Измените XML-файл layouta: res / layout / activity_main.xml добавьте любой компонент GUI, если требуется. |
4 | Создайте файл src / second.java для добавления кода активности. |
5 | Измените XML-файл макета. Res / layout / view.xml добавьте любой компонент GUI, если требуется. |
6 | Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты. |
Вот содержание MainActivity.java .
package com.tutorialspoint.myapplication; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button b1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); } public void button(View v){ Intent in =new Intent(MainActivity.this,second.class); startActivity(in); } }
Вот содержание second.java .
package com.tutorialspoint.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class second extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view); Button b1=(Button)findViewById(R.id.button2); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(second.this,"Thanks",Toast.LENGTH_SHORT).show(); } }); } }
Вот содержание activity_main.xml .
В приведенном ниже коде abc указывает логотип tutorialspoint.com
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="UI Animator Viewer" android:id="@+id/textView" android:textSize="25sp" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" android:textColor="#ff36ff15" android:textIsSelectable="false" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:onClick="button" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" /> </RelativeLayout>
Вот содержимое view.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" android:id="@+id/button2" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point " android:id="@+id/textView3" android:textColor="#ff3aff22" android:textSize="35dp" android:layout_above="@+id/button2" android:layout_centerHorizontal="true" android:layout_marginBottom="90dp" /> </RelativeLayout>
Вот содержимое Strings.xml .
<resources> <string name="app_name">My Application</string> </resources>
Вот содержимое AndroidManifest.xml .
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tutorialspoint.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".second"></activity> </application> </manifest>
Давайте попробуем запустить ваше приложение Android Testing. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.
Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, которое будет отображать экран приложения. Теперь просто выполните шаги, упомянутые в верхней части раздела «Обезьяна», чтобы выполнить тестирование этого приложения.