[Android自动化测试]UiAutomator入门
来源:互联网 发布:java时区转换 编辑:程序博客网 时间:2024/06/11 10:59
今天第一次接触UiAutomator来做自动化测试,所以记录一下第一次使用UiAutomator的过程吧
首先是根据网上各种UiAutomator的各种教程搭建好java的环境,这里我看的是http://www.cnblogs.com/peng-lan/p/5923350.html(引用一下博主应该不会介意吧嘻嘻嘻),博主写的搭建过程还是蛮详细的。这里记得用sdk manager根据自己想测试的Android版本安装开发包,我用的是Android6.0。
安装好之后就是安装eclipse,推荐下载release包,不用安装即可使用值得拥有(网址:https://www.eclipse.org/downloads/eclipse-packages/),然后就是各种配置了。
接下来打开Eclipse新建project,然后在src目录下添加package,在package新建类,建完如下:
记得右键点击工程名字->Bulid Path->Configure Bulid Path在里面添加sdk开发包:
选择你安装的sdk的目录里面的platforms目录,再进到你下载的Android开发包的目录,添加里面的android.jar和uiautomator.jar
接下来你需要uiautomatorview来获取你手机上的控件,才能更好地设计你的代码,它在你的sdk安装目录的tools文件夹里,这里以我自己的手机为例,使用界面如下:
点击你想找的控件,可以在右下角看到各种信息,之后就可以在UiAutomatorDemo2.java中打代码了:
/** * *//** * @author Ming丶彬 * */package com.uiautomator.test2;import java.io.IOException;import android.graphics.*; import java.text.SimpleDateFormat; import java.util.Date; import android.os.SystemClock; import com.android.uiautomator.core.UiDevice; 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 UiAutomatorDemo2 extends UiAutomatorTestCase{ public void testSetScreenOffTime() throws UiObjectNotFoundException, IOException{ //打开系统设置页面 getUiDevice().pressHome(); sleep(3000); UiDevice uiDevice = getUiDevice(); //打开设置 UiObject setting = new UiObject(new UiSelector().text("设置")); //System.out.println(setting.isClickable()); Rect r = setting.getBounds(); System.out.println(r.centerX()); System.out.println(r.centerY()); UiDevice.getInstance().click(r.centerX(),r.centerY()); try { Thread.sleep(3000); }catch(InterruptedException e) { e.printStackTrace(); } } }
这是一个简单的按一下Home返回主界面然后找到“设置”并点击,这里如果你的代码中像我一样如果出现了中文的话,记得在project的属性中设置编码,否则会报错找不到控件:
之后cmd进入sdk安装目录的tools目录下,执行:
android list查看sdk版本的id
android create uitest-project -n <name> -t <android-sdk-ID> -p <path>
其中name为将来生成的jar包的名字,可以自己定义,android-sdk-ID为找到的sdk版本的id,path是工程的路径名称
如:android create uitest-project -n AutoRunner -t 1 -p E:\code\UiAutomatorDemo2
这时候在工程目录下会出现一个build.xml文件,cmd在工程目录下执行ant build会在bin目录下生成jar包,将手机连接电脑,将jar包push进手机:
adb push <jar文件路径> data/local/tmp
实际为:adb push E:\code\UiAutomatorDemo2\bin\AutoRunner.jar data/local/tmp
执行jar包:adb shell uiautomator runtest <jar文件名> -c <包名.类名>
实际命令:E:\code\UIAutomatorDemo2\bin>adb shell uiautomator runtest AutoRunner.jar -c com.uiautomator.test2.UiAutomatorDemo2(包名、类名一定要对应)
执行后cmd结果如下:
可以在手机上可以看到它自动返回了主界面并且点击了“设置”按钮,这里放不了手机的录屏没法展示出来了orz
- Android自动化测试uiautomator入门
- [Android自动化测试]UiAutomator入门
- android自动化测试-UiAutomator使用入门
- 自动化测试 uiautomator 入门
- android uiautomator自动化测试
- UiAutomator android自动化测试
- Android-自动化测试UIAutomator
- Android自动化测试uiautomator
- Android UiAutoMator自动化测试
- Android Uiautomator 自动化测试
- Android Uiautomator 自动化测试
- Android自动化测试之UIAutomator
- Android自动化测试(UiAutomator)
- Android自动化测试工具uiautomator
- Python + Android + Uiautomator自动化测试
- Android自动化测试之UIAutomator
- Python + Android + Uiautomator自动化测试
- android uiautomator自动化测试记录
- Java高并发程序设计笔记
- 英特尔 2017 Q3 净利与净利率双双创纪录,受全球涨价影响,存储业务涨幅达 37%
- 书籍是人类进步的阶梯
- 加油,为了理想
- 用C语言(keil c)给8051单片机编程来做一个LCD计算器(proteus仿真)
- [Android自动化测试]UiAutomator入门
- 你每天都在用的单例设计模式!!!
- 欢迎使用CSDN-markdown编辑器
- hadoop安装部署问题总结
- 沃尔玛引入货架扫描机器人,强调并非为取代人类
- csdn的第一次书写
- 好玩的动画加载和自定义ProgressBar
- 【算法】【Dynamic Programming】Unique Paths
- Leetcode:Recover Binary Search Tree