Полезные примеры Android

Полезные примеры Android
Android — тестирование пользовательского интерфейса

Android SDK предоставляет следующие инструменты для поддержки автоматического функционального тестирования пользовательского интерфейса в вашем приложении.

  • uiautomatorviewer
  • uiautomator

uiautomatorviewer

Инструмент с графическим пользовательским интерфейсом для сканирования и анализа компонентов пользовательского интерфейса приложения Android.

Инструмент uiautomatorviewer предоставляет удобный визуальный интерфейс для проверки иерархии макета и просмотра свойств отдельных компонентов пользовательского интерфейса, отображаемых на тестовом устройстве. Используя эту информацию, вы можете позже создавать тесты uiautomator с объектами селектора, которые нацелены на определенные компоненты пользовательского интерфейса для тестирования.

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

  • Подключите свое Android-устройство к машине разработки
  • Откройте окно терминала и перейдите в <android-sdk> / tools /
  • Запустите инструмент с помощью этой команды
uiautomatorviewer

Команды будут выполняться, как показано ниже

Руководство по тестированию пользовательского интерфейса Android

Вы увидите следующее окно. Это окно по умолчанию для средства просмотра UI Automator.

Руководство по тестированию пользовательского интерфейса Android

  • Щелкните значок устройства в правом верхнем углу. Он начнет делать снимок пользовательского интерфейса XML экрана, открытого в данный момент на устройстве. Было бы что-то вроде этого.

Руководство по тестированию пользовательского интерфейса Android

После этого вы увидите снимок экрана вашего устройства в окне uiautomatorviewer.

Руководство по тестированию пользовательского интерфейса Android

В правой части этого окна вы увидите два раздела. Верхний раздел объясняет структуру узлов, способ организации и содержания компонентов пользовательского интерфейса. Щелчок по каждому узлу дает подробную информацию в нижнем разделе.

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

Руководство по тестированию пользовательского интерфейса Android

UI Automator Viewer также поможет вам изучить ваш пользовательский интерфейс в различных ориентациях. Например, просто измените ориентацию устройства на альбомную и снова сделайте снимок экрана. Это показано на рисунке ниже —

Руководство по тестированию пользовательского интерфейса Android

uiautomator

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

  • В Project Explorer щелкните правой кнопкой мыши новый проект, который вы создали, затем выберите Properties> Java Build Path и выполните следующие действия:

  • Щелкните Добавить библиотеку> JUnit, затем выберите JUnit3, чтобы добавить поддержку JUnit.

  • Щелкните Добавить внешние файлы JAR … и перейдите в каталог SDK. В каталоге платформ выберите последнюю версию SDK и добавьте файлы uiautomator.jar и android.jar.

  • Расширьте свой класс с помощью UiAutomatorTestCase

  • Правильно необходимые тестовые случаи.

  • После написания кода теста выполните следующие действия, чтобы создать и развернуть тестовый JAR на целевом тестовом устройстве Android.

  • Создайте необходимые файлы конфигурации сборки для сборки выходного JAR. Чтобы сгенерировать файлы конфигурации сборки, откройте терминал и выполните следующую команду:

<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p <path>
  • <name> — это имя проекта, который содержит ваши тестовые исходные файлы uiautomator, а <path> — это путь к соответствующему каталогу проекта.

  • В командной строке установите переменную ANDROID_HOME.

set ANDROID_HOME=<path_to_your_sdk>
  • Перейдите в каталог проекта, где находится ваш файл build.xml, и создайте тестовый JAR.
ant build
  • Разверните созданный тестовый файл JAR на тестовом устройстве с помощью команды adb push.
adb push <path_to_output_jar> /data/local/tmp/
  • Запустите тест, выполнив следующую команду —
adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

Пример

В приведенном ниже примере демонстрируется использование UITesting. Он содержит базовое приложение, которое можно использовать для uiautomatorviewer.

Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве, а затем выполнить шаги uiautomatorviewer, описанные в начале.

Шаги Описание
1 Вы будете использовать студию Android для создания приложения Android в пакете com.tutorialspoint.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить код действия.
3 Измените XML-файл макета res / layout / activity_main.xml, добавьте при необходимости любой компонент графического интерфейса.
4 Создайте файл src / second.java, чтобы добавить код действия.
5 Измените XML-файл макета res / layout / view.xml, добавьте при необходимости любой компонент графического интерфейса.
6 Запустите приложение, выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Вот содержимое MainActivity.java .

package com.tutorialspoint.myapplication;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends ActionBarActivity {
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(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_LONG).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:id="@+id/button"
android:layout_marginTop="98dp"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true" />
</RelativeLayout>

Вот содержимое view.xml .

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 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_gravity="center_horizontal"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</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 к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов активности вашего проекта и щелкните Значок запуска Eclipseзначок « Выполнить» на панели инструментов. Перед запуском вашего приложения студия Android отобразит следующее окно, чтобы выбрать вариант, в котором вы хотите запустить приложение Android.

Руководство по тестированию пользовательского интерфейса Anroid

Выберите свое мобильное устройство в качестве варианта, а затем проверьте свое мобильное устройство, на котором будет отображаться экран приложения. Теперь просто следуйте инструкциям, упомянутым в верхней части раздела средства просмотра пользовательского интерфейса, чтобы выполнить тестирование пользовательского интерфейса в этом приложении.

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare