测试开发栈程序员Android技术知识

UiAutomator2.0环境搭建及HelloWorld程序

2017-03-29  本文已影响1843人  测试开发栈

前面介绍过移动端各大自动化测试框架的对比,下面给大家分享的对象是Android自动化测试的利器——UiAutomator2.0,但本篇文章只重点介绍UiAutomator2.0在Android Studio上的环境搭建和Helloworld工程,其他内容后面得空会继续分享介绍。


timg.jpg

一、UiAutomator与UiAutomator2.0的差异

Google的UiAutomator先后出了2版:UiAutomator1.0(即通常说的UiAutomator)和UiAutomator2.0(简称U2),U2在UiAutomator的基础上增加了UiObject2等API,但是它们最大的差别还是U2是Android项目,UiAutomator是Java项目,而且现在也是推荐使用UiAutomator2.0,下面列出它们的区别:
1、api不同但基本差不多;
2、Uiautomator2.0是Android项目,而Uiautomator是Java项目;
3、Uiautomator2.0可以输入中文,而Uiautomator的java工程需借助utf7输入法才能输入中文;
4、Uiautomator2.0必须明确EditText框才能向里面输入文字,Uiautomator直接指定父类也可以在子类中输入文字;
5、Uiautomator2.0使用命令的方法是mDevice.executeShellCommand("),而Uiautomator使用命令的方法只能是Runtime.getRuntime().exec(");

二、UiAutomator2.0测试环境搭建

在搭建之前需要安装JDK1.7及以上、Android SDK及其API资源、Android Studio 开发工具,这些不是本次主题的重点,这里就一笔带过。
1、Android Studio中新建Android项目



输入项目名称和包名:



选择最小的API Level,推荐选择API 18
Paste_Image.png
后面一路Next直到项目创建成功……

2、Gradle依赖配置:
打开moudle的build.gradle文件


Paste_Image.png

将UiAutomator2.0相关的依赖和配置写入build.gradle文件

androidTestCompile 'com.android.support.test:runner:0.4'
    // Set this dependency to use JUnit 4 rules
    androidTestCompile 'com.android.support.test:rules:0.4'
    // Set this dependency to build and run UI Automator tests
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

defaultConfig 增加AndroidJUnitRunner

defaultConfig {
        applicationId "com.alany.u2"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        //使用android的runner执行脚本
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

3、创建HelloWorld测试类
在AndroidTest目录下新建测试类



U2默认使用Junit4框架管理测试用例,在测试类中输入下列代码结构

@RunWith(AndroidJUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class U2Test {
    public static final String TAG = "U2Test";

    @BeforeClass
    public static void beforeClass(){
        Log.d(TAG, "BeforeClass");
    }

    @AfterClass
    public static void afterClass(){
        Log.d(TAG, "AfterClass");
    }

    @Before
    public void before(){
        Log.d(TAG, "Before");
    }

    @After
    public void after(){
        Log.d(TAG, "After");
    }

    @Test
    public void test001() {
        Log.d(TAG, "test001");
    }

    @Test
    public void test002() {
        Log.d(TAG, "test002");
    }
}

4、运行测试项目
连上手机或者打开模拟器,选中项目或者测试类选择“Run”来执行测试项目或用例



测试执行结果



至此,UiAutomator2.0的测试环境以及HelloWorld项目就完成了。

PS: 更多原创技术好文和资料,请关注下方公众号:“测试开发栈”公众号是由具有多年测试、开发经验的老兵们共同管理和运营,旨在分享原创互联网软件测试、开发相关技术。
软件测试开发合并必将是趋势,不懂开发的测试、不懂测试的开发都将可能被逐渐替代,因此前瞻的技术储备和知识积累是我们以后在职场和行业脱颖而出的法宝,期望我们的经验和技术分享能让你每天都成长和进步,早日成为测试开发栈上的技术大牛~~
同时也欢迎加入我们的QQ群交流和提问:427020613

上一篇下一篇

猜你喜欢

热点阅读