关于Uiautomator的学习历程(1)

本文记录了作者学习Uiautomator进行Android自动化测试的过程,通过分享第一段测试代码,阐述了在Android开发中如何运用Uiautomator进行基础的UI自动化测试。
摘要由CSDN通过智能技术生成

话不多说,代码先贴上。反正我备注的都很详细啦。。。关于人生中的第一段代码。(BaseTest是android开发写的)

package com.example.xiaofeng.uiautotest;

import android.content.Context;
import android.content.Intent;
import android.os.RemoteException;
import android.support.test.InstrumentationRegistry;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.BySelector;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject2;
import android.support.test.uiautomator.Until;
import android.widget.Button;

import org.junit.Assert;
import org.junit.Before;

import static android.support.test.InstrumentationRegistry.getContext;

/**
 * Created by nanfeng on 2017/4/24.
 */

public class BaseTest {

    protected UiDevice mUIDevice = null;
    protected Context mContext = null;//Context是android中上下文
    String APP = "com.maihaoche.bentley.debug";

    //    String BASE_ID = "com.maihaoche.bentley.debug:id/" ;
    String BASE_ID2 = "com.maihaoche.bentley.debug" ;

    int displayTimeOut = 5 * 2000 ;  //默认的界面刷新超时时间

    String userPhone = "18868816760" ;
    String password = "111111" ;


    @Before
    public void setUp() throws RemoteException {
        mUIDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());  //获得device对象
        mContext = getContext();

//        APP = getLauncherPackageName() ;

        if(!mUIDevice.isScreenOn()){  //判断屏幕是否唤醒状态,如果非,唤醒屏幕
            mUIDevice.wakeUp();
        }
        mUIDevice.pressHome();  //因为可能会处于其他的应用中,所有先按home键
    }

    protected void waitUpdate(){   //等待界面渲染
        mUIDevice.waitForWindowUpdate(APP,displayTimeOut) ;
    }

    public void openApp(String packageName) {  //打开APP
        Context context = InstrumentationRegistry.getInstrumentation().getContext();
        Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        context.startActivity(intent);
    }

    /**
     * 第一次进APP,走引导页时的逻辑
     */
    protected void firstEntrance() {
        new Thread(){
            @Override
            public void run() {
                super.run();
                UiObject2 powerView = mUIDevice.wait(Until.findObject(By.clazz(Button.class).text("允许"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值