Android Uiautomator创建过程

网页上看到uiautomator的简单例子,想尝试执行,无奈太菜,不晓得如何由工程创建jar文件,网上搜索一番找到了详细说明,在此记一笔,加强印象。

1.使用Eclipse,需要先创建一个java项目New-Java Project----命名为Uia

2.右击项目工程--Build Path--Configure Build Path--在Libraries一栏Add Library->Junit;然后Add External JARs-->Android SDK目录下platforms/android-*/android.jar和uiautomator.jar

3.新建测试case,加一个官网的样本case(转自:http://developer.android.com/tools/testing/testing_ui.html)

package com.uia.example.my;

// Import the uiautomator libraries
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiScrollable;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class LaunchSettings extends UiAutomatorTestCase {   

   public void testDemo() throws UiObjectNotFoundException {   
      
      // Simulate a short press on the HOME button.
      getUiDevice().pressHome();
      
      // We’re now in the home screen. Next, we want to simulate 
      // a user bringing up the All Apps screen.
      // If you use the uiautomatorviewer tool to capture a snapshot 
      // of the Home screen, notice that the All Apps button’s 
      // content-description property has the value “Apps”.  We can 
      // use this property to create a UiSelector to find the button. 
      UiObject allAppsButton = new UiObject(new UiSelector()
         .description("Apps"));
      
      // Simulate a click to bring up the All Apps screen.
      allAppsButton.clickAndWaitForNewWindow();
      
      // In the All Apps screen, the Settings app is located in 
      // the Apps tab. To simulate the user bringing up the Apps tab,
      // we create a UiSelector to find a tab with the text 
      // label “Apps”.
      UiObject appsTab = new UiObject(new UiSelector()
         .text("Apps"));
      
      // Simulate a click to enter the Apps tab.
      appsTab.click();

      // Next, in the apps tabs, we can simulate a user swiping until
      // they come to the Settings app icon.  Since the container view 
      // is scrollable, we can use a UiScrollable object.
      UiScrollable appViews = new UiScrollable(new UiSelector()
         .scrollable(true));
      
      // Set the swiping mode to horizontal (the default is vertical)
      appViews.setAsHorizontalList();
      
      // Create a UiSelector to find the Settings app and simulate      
      // a user click to launch the app. 
      UiObject settingsApp = appViews.getChildByText(new UiSelector()
         .className(android.widget.TextView.class.getName()), 
         "Settings");
      settingsApp.clickAndWaitForNewWindow();
      
      // Validate that the package name is the expected one
      UiObject settingsValidation = new UiObject(new UiSelector()
         .packageName("com.android.settings"));
      assertTrue("Unable to detect Settings", 
         settingsValidation.exists());   
  }   
}
4.保存case,打包成jar

<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p<path>

name是项目名称,也就是Uia;-t参数后面数字指的是target的id,可以用“android list”命令查看对应id;path是项目所在路径。执行此命令之后,会在项目文件夹里生成3个文件:build.xml、local.properties、project.properties。Eclipse中右击build.xml文件Run as-Ant Build,成功的话会提示BUILD SUCCESSFUL,打开build.xml,将default="help"更改为【default="build"】,再次Run as Ant Build。会在项目目录bin文件夹下生成Uia.jar。

5.Push jar并执行

Push到手机:adb push [path]\Uia.jar /data/local/tmp/

执行case:adb shell uiautomator runtest Uia.jar -c [case所在包.名称]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值