沉舟侧畔千帆进,病树前头万木春。这篇文章主要讲述Android自动化测试-UiAutomator环境搭建相关的知识,希望能为你提供帮助。
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176)
一、环境准备
1. 安装android sdk,并配置环境变量
2. 安装android studio,国内访问官网受限,如果下载不到,可以到我的百度云盘下载:
https://pan.baidu.com/s/1bpq5wK3
此云盘中有uiautomator2所依赖的jar包,可以同时下载

文章图片
二、新建Android Studio工程

文章图片
新建一个project,输入application name,下一步,

文章图片
默认选择,下一步,

文章图片
选择 empty activity:

文章图片
最后finish之后,切换到project视图;

文章图片
右击工程,新建一个libs,并把网盘中下载的uiautomator依赖的jar包,copy进来,并添加依赖,

文章图片
Add As Library之后,会弹出一个小框,选择app,点击OK

文章图片
这样我们的工程就建好了,左上角,把我们的project模式切换成android模式,

文章图片
现在android视图模式下,界面就比较简洁直观了,如下图所示:标注android test的地方,就是我们要写测试用例的包,

文章图片
新家一个java class,输入class name,现在我们就可以开开心心的写测试代码了
三、测试实例
下面我们写一个例子,启动模拟器,模拟器home上有个chrome浏览器,操作步骤:点击chrome-输入www.baidu.com-enter;
点击android studio上的 AVD manager,就可以启动模拟器,模拟器界面如下:

文章图片

文章图片
测试用例:
1. 点击chrome
2. 输入www.baidu.com
3. Enter
代码如下:

文章图片

文章图片
【Android自动化测试-UiAutomator环境搭建】写好测试用例之后,我们就可以运行了,在运行之前,我们先看下运行配置:

文章图片
在配置文件中,一定要有如下一行代码,如果没有,可以自己加上:
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
现在就可以运行了,打开你的模拟器,看下界面有什么效果:

文章图片
完整代码如下:

文章图片

文章图片
1 import android.app.Instrumentation; 2 import android.support.test.InstrumentationRegistry; 3 import android.support.test.runner.AndroidJUnit4; 4 import android.support.test.uiautomator.UiDevice; 5 import android.support.test.uiautomator.UiObject; 6 import android.support.test.uiautomator.UiObjectNotFoundException; 7 import android.support.test.uiautomator.UiSelector; 8 import android.view.KeyEvent; 9 10 import org.junit.Before; 11 import org.junit.Test; 12 import org.junit.runner.RunWith; 13 14 /** 15* Created by tianxing on 2017/8/15. 16*/ 17 18 @RunWith(AndroidJUnit4.class) 19 public class helloworld { 20 21UiDevice uiDevice; 22Instrumentation instrumentation; 23 24@Before 25public void setUp(){ 26instrumentation = InstrumentationRegistry.getInstrumentation(); 27uiDevice = UiDevice.getInstance(instrumentation); 28} 29 30@Test 31public void launchChrome(){ 32UiObject chrome = uiDevice.findObject(new UiSelector().text("Chrome")); 33UiObject searchContent = uiDevice.findObject(new UiSelector().text("Search or type URL")); 34 35try { 36chrome.click(); 37sleep(2000); 38searchContent.setText("www.baidu.com"); 39uiDevice.pressKeyCode(KeyEvent.KEYCODE_ENTER); 40} catch (UiObjectNotFoundException e) { 41e.printStackTrace(); 42} 43 44} 45 46public void sleep(int mint){ 47try{ 48Thread.sleep(mint); 49}catch (InterruptedException e){ 50e.printStackTrace(); 51} 52} 53 54 }
View Code
推荐阅读
- android 单位什么是屏幕密度()
- android intentService
- Java URLConnection类
- Java URL
- 了解javap工具
- 最佳多显示器工具合集(顶级spacedesk替代软件推荐)
- 沙盒软件推荐(Windows和Linux的14种最佳Sandboxie替代品)
- 17种最佳Yawcam替代软件(网络摄像头工具推荐合集)
- 电子邮件营销的12种最佳Klaviyo替代品合集推荐