Android自动化测试-UiAutomator环境搭建

Android自动化测试-UiAutomator环境搭建

一、环境准备

  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

  代码如下:

    技术分享

        技术分享

  写好测试用例之后,我们就可以运行了,在运行之前,我们先看下运行配置:

  技术分享

  在配置文件中,一定要有如下一行代码,如果没有,可以自己加上:

  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 21  UiDevice uiDevice;22  Instrumentation instrumentation;23 24  @Before25 public void setUp(){26 instrumentation = InstrumentationRegistry.getInstrumentation();27 uiDevice = UiDevice.getInstance(instrumentation);28  }29 30  @Test31 public void launchChrome(){32 UiObject chrome = uiDevice.findObject(new UiSelector().text("Chrome"));33 UiObject searchContent = uiDevice.findObject(new UiSelector().text("Search or type URL"));34 35 try {36  chrome.click();37 sleep(2000);38 searchContent.setText("www.baidu.com");39  uiDevice.pressKeyCode(KeyEvent.KEYCODE_ENTER);40 } catch (UiObjectNotFoundException e) {41  e.printStackTrace();42  }43 44  }45 46 public void sleep(int mint){47 try{48  Thread.sleep(mint);49 }catch (InterruptedException e){50  e.printStackTrace();51  }52  }53 54 }

View Code

 

相关文章