java自动化测试-UI(APP)

环境搭建

下载android-sdk-windows-appium与Appium-windows。
夜神模拟器/雷电模拟器/genymotion…

下载

android-sdk安装与配置

解压android-sdk压缩包
双击SDK Manager.exe打开,默认选择->install即可,静静的等待安装。
这里如果不知道要装什么就全选,全部安装总没错,后期再安装也是可以的哦。

默认的选择
Tools
在这里插入图片描述
Android R
在这里插入图片描述
Android 10(最新的版本)
在这里插入图片描述
Extras
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置环境变量

新建一个系统环境变量,变量名为ANDROID_HOME,变量值为SDK安装路径。
这里注意变量名必须是ANDROID_HOME,别的地方好像需要
在这里插入图片描述
然后就是在系统的Path变量后,新建

#29.0.3要对应下载的版本
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\build-tools\29.0.3
%ANDROID_HOME%\tools

在这里插入图片描述
检验是否安装成功 打开cmd(一定要重新打开)

adb version

在这里插入图片描述

Appium

双击Appium的exe文件安装。
仅为当前用户安装,因为没有选择安装路径的地方,安装后需要知道安装的路径。
默认安装路径:C:\Users\wwxb\AppData\Local\Programs\Appium
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

夜神模拟器安装与配置

自定义安装,选择安装路径,也可以是默认路径,傻瓜式安装。
雷电模拟器安装也是一样,模拟器安装一个就可以。

夜神模拟器,配置模拟器连接:

  • 从Android SDK的platform-tools找到adb.exe程序,复制替换到夜神的安装目录下
  • 把夜神安装目录下的nox_adb.exe给删掉,刚才复制替换过来的adb.exe重新复制一份,改名nox_adb.exe即可
  • 配置完之后就会自动的连接上夜神模拟器

配置元素定位检查器

Ui Automator Viewer(推荐使用)

在Android sdk 的tools或者\tools\bin目录下,我的是在tools目录下双击uiautomatorviewer.bat运行
能自动同步到APP页面
在这里插入图片描述

appium(需要进行配置,不推荐使用)

首次启动appium可以设置为中文,appuim启动页面View->Language->中文

appium检查器配置前获取参数信息

被测app配置需要配置设备名、平台名(Android或IOS)、APP名(包名)、APP启动入口;需要先获取这3个设备名、APP名、APP启动入口
获取设备名(需要启动模拟器),在cmd命令行输入以下命令

adb devices

在这里插入图片描述
获取包名与APP启动入口程序(在控制台输入以下命令后在模拟器中启动被测APP),这里已bilibili为例

adb logcat | findstr "START"	#Windows 系统
#adb logcat | find "START"	#Windows 系统
#adb logcat | grep "START"	#mac 系统
#会出现很多日志需要找到cmp位置
#在cmp=tv.danmaku.bili/.ui.splash.SplashActivity中tv.danmaku.bili为包名,.ui.splash.SplashActivity为入口程序(注意前面有个点)

在这里插入图片描述
问题1:adb devices不显示设备名

  • 检查appium以及模拟器是否已经启动
  • 检查appium以及模拟器已经启动还是不显示,关闭模拟器,在任务管理器中结束acb.exe进程后重启模拟器
    问题2:找不到包名和入口程序
  • 在模拟器中检查被测APP是否启动

appium检测器配置

在这里插入图片描述

配置号以后点击另存为
在这里插入图片描述

这里名称随意,一般见名知意,Save(保存)
在这里插入图片描述

启动会话,首次会慢一些
在这里插入图片描述
下次启动就可以在这里选择,不需要进行配置了
在这里插入图片描述
启动后
在这里插入图片描述
像选择元素操作,可以查看属性用于元素定位
在这里插入图片描述

APP元素定位

待更新。。。

脚本编写

新建项目

pom.xml添加依赖包
依赖包查找网址https://mvnrepository.com/

<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>7.0.0</version>
</dependency>

第一个测试类

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidKeyCode;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;


/**
 * 开发人员: 旺旺掀被
 * 时间: 2022-04-22 03:57
 * 描述:
 */

public class TestDemo {
    public static void main(String[] args) throws MalformedURLException, InterruptedException {
        /*
        通过Appium编写脚本
        实现bilibili(B站)App登录->搜索【柠檬班软件测试】->点关注
        没有账号登录省略
         */
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "127.0.0.1:62001");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("appPackage", "tv.danmaku.bili");
        capabilities.setCapability("appActivity", ".ui.splash.SplashActivity");

        //告诉Appium服务参数配置
        //第一个参数:通讯地址
        //第二个参数:参数配置
        URL url = new URL("http://127.0.0.1:4723/wd/hub");

        AndroidDriver driver = new AndroidDriver(url, capabilities);
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        //点掉同意并继续按钮
        driver.findElement(By.id("tv.danmaku.bili:id/agree")).click();
        //输入框
        driver.findElement(By.id("tv.danmaku.bili:id/expand_search")).click();
        driver.findElement(By.id("tv.danmaku.bili:id/search_src_text")).sendKeys("柠檬班软件测试");
        //输入完不能点击,只能回车
        driver.pressKeyCode(AndroidKeyCode.ENTER);
        driver.findElement(By.id("tv.danmaku.bili:id/upuser")).click();
        //点击关注
        driver.findElement(By.id("tv.danmaku.bili:id/follow")).click();
        //关闭app,打开Ui Automator Viewer时不报错,报错时手工将adb进程结束掉
        Thread.sleep(5000);
        driver.quit();

    }

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值