📜  Android-UI测试

📅  最后修改于: 2021-01-05 05:39:04             🧑  作者: Mango


Android SDK提供了以下工具来支持对应用程序进行自动化的功能性UI测试。

  • uiautomatorviewer
  • uiautomator

uiautomatorviewer

一个GUI工具,用于扫描和分析Android应用程序的UI组件。

uiautomatorviewer工具提供了一个方便的可视界面,以检查布局层次结构并查看在测试设备上显示的各个UI组件的属性。使用此信息,您以后可以使用针对特定要测试的UI组件的选择器对象创建uiautomator测试。

要分析您要测试的应用程序的UI组件,请在安装示例中给出的应用程序之后执行以下步骤。

  • 将您的Android设备连接到您的开发机器
  • 打开终端窗口,然后导航到 / tools /
  • 使用此命令运行工具
uiautomatorviewer

命令将如下所示

Android UI测试教程

您将看到以下窗口出现。这是UI Automator Viewer的默认窗口。

Android UI测试教程

  • 单击右上角的设备图标。它将开始获取设备中当前打开的屏幕的UI XML快照。就像这样。

Android UI测试教程

之后,您将在uiautomatorviewer窗口中看到设备屏幕的快照。

Android UI测试教程

在此窗口的右侧,您将看到两个分区。上部分区说明了Nodes结构,即UI组件的排列和包含方式。单击每个节点将在下部分区中提供详细信息。

例如,考虑下图。单击按钮时,可以在上部分区中看到已选择“按钮”,在下部分区中将显示其详细信息。由于此按钮是可单击的,因此将其可单击的属性设置为true。

Android UI测试教程

UI Automator Viewer还可以帮助您从不同方向检查UI。例如,只需将设备方向更改为横向,然后再次捕获屏幕快照。如下图所示-

Android UI测试教程

uiautomator

现在,您可以创建自己的测试用例,并使用uiautomatorviewer运行它来检查它们。为了创建您自己的测试用例,您需要执行以下步骤-

  • 在Project Explorer中,右键单击您创建的新项目,然后选择Properties> Java Build Path,然后执行以下操作-

  • 单击添加库> JUnit,然后选择JUnit3以添加JUnit支持。

  • 单击添加外部JAR …,然后导航到SDK目录。在platforms目录下,选择最新的SDK版本,并添加uiautomator.jar和android.jar文件。

  • 使用UiAutomatorTestCase扩展您的课程

  • 正确处理必要的测试用例。

  • 对测试进行编码后,请按照以下步骤构建测试JAR并将其部署到目标Android测试设备。

  • 创建所需的构建配置文件以构建输出JAR。要生成构建配置文件,请打开终端并运行以下命令:

/tools/android create uitest-project -n  -t 1 -p 
  • 是包含uiautomator测试源文件的项目的名称,而是相应项目目录的路径。

  • 在命令行中,设置ANDROID_HOME变量。

set ANDROID_HOME=
  • 转到build.xml文件所在的项目目录,然后构建测试JAR。
ant build
  • 使用adb push命令将生成的测试JAR文件部署到测试设备。
adb push  /data/local/tmp/
  • 通过以下命令运行测试-
adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

下面的示例演示UITesting的用法。它创建了可用于uiautomatorviewer的基本应用程序。

要尝试使用此示例,您需要在实际设备上运行此示例,然后按照开头说明的uiautomatorviewer步骤进行操作。

Steps Description
1 You will use Android studio to create an Android application under a package com.tutorialspoint.myapplication.
2 Modify src/MainActivity.java file to add Activity code.
3 Modify layout XML file res/layout/activity_main.xml add any GUI component if required.
4 Create src/second.java file to add Activity code.
5 Modify layout XML file res/layout/view.xml add any GUI component if required.
6 Run the application and choose a running android device and install the application on it and verify the results.

这是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的徽标



   
   
      
   
      
   
      
   


这是view.xml的内容。




   

这是Strings.xml的内容。


   My Application

这是AndroidManifest.xml的内容。



   
   
      
      
         
         
            
            
         
         
      
      
      
      
   

让我们尝试运行您的UI测试应用程序。我假设您已将实际的Android Mobile设备与计算机连接。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后点击运行Eclipse运行图标工具栏中的图标。在启动应用程序之前,Android Studio将显示以下窗口,以选择要在其中运行Android应用程序的选项。

Anroid UI测试教程

选择您的移动设备作为选项,然后检查将显示应用程序屏幕的移动设备。现在,只需按照ui automator查看器部分下方顶部提到的步骤,即可在此应用程序上执行ui测试。