android studio+appium/uiautomator测试自动化

前提:

jdk1.8已安装,系统macOS

一、as和sdk的安装

1、下载android studio
https://developer.android.google.cn/studio/
在这里插入图片描述
2、下载成功后打开:
点击configure ->preferences
在这里插入图片描述
安装sdk(建议根据被测对象的版本安装,sdk版本比被测机高的话执行会报错)
在这里插入图片描述
进入sdk tools
在这里插入图片描述
勾选完成后进行下载(网络不好的话时间会久一点)

二、新建项目

安装好后,新建项目
选择no activity
在这里插入图片描述
选择语言,sdk,finish
在这里插入图片描述
成功后会自动下载gradle,安卓项目使用gradle管理依赖的。
在这里插入图片描述
完成后会有这样的报错,点击re- download也没有反应,后续才知道需要build一下,点击app- build.gradle文件中的apply suggestion
最后更换项目展示结构,选择project
在这里插入图片描述

三、添加依赖

打开app的build.gradle
uiautomator是安卓UI自动化测试框架,但是不支持xpath元素定位,这里想和appium一起合作

	implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.1.0'
    androidTestImplementation group: 'io.appium', name: 'java-client', version: '7.5.1'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation group: 'com.android.support.test.uiautomator', name: 'uiautomator-v18', version: '2.1.3'

监测到有修改,点击同步,就会下载依赖
在这里插入图片描述

四、编写代码

在这里插入图片描述
在这个目录下编写
进入android-sdk目录,选择元素查看工具:
在这里插入图片描述
1、uiautomator测试

import android.util.Log;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.uiautomator.UiDevice;
import androidx.test.uiautomator.UiObject;
import androidx.test.uiautomator.UiObjectNotFoundException;
import androidx.test.uiautomator.UiScrollable;
import androidx.test.uiautomator.UiSelector;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
 * 根据app的名称启动 (eg:网易云)
 * 前提:知道软件所在的第几个屏幕
 * */
@RunWith(AndroidJUnit4.class)
public class fromAppName {
   
    private static final UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
    @Test
    public void startApp2() throws InterruptedException, UiObjectNotFoundException {
   
        Log.d("fromAppName.java", "准备打开app");
        //5s后开始调试,先返回桌面
        Thread.sleep(5);
        uiDevice.pressHome();
        //开启水平滑动
        UiScrollable uiScrollable = new UiScrollable(new UiSelector().scrollable(true));
        uiScrollable.setAsHorizontalList();
        //向左边滑动2次
        uiScrollable.scrollForward(2);
//        uiScrollable.scrollForward(2);
        uiDevice.findObject(new UiSelector().text("网易云音乐")).click();
        UiObject skip = uiDevice.findObject(
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值