环境搭建

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

下载

android-sdk安装与配置

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

默认的选择

Tools

android auto中国能用吗 android auto中国版官方_android


Android R

android auto中国能用吗 android auto中国版官方_java_02


Android 10(最新的版本)

android auto中国能用吗 android auto中国版官方_Android_03


Extras

android auto中国能用吗 android auto中国版官方_android_04


android auto中国能用吗 android auto中国版官方_Android_05


android auto中国能用吗 android auto中国版官方_java_06


android auto中国能用吗 android auto中国版官方_java_07

配置环境变量

新建一个系统环境变量,变量名为ANDROID_HOME,变量值为SDK安装路径。

这里注意变量名必须是ANDROID_HOME,别的地方好像需要

android auto中国能用吗 android auto中国版官方_Android_08


然后就是在系统的Path变量后,新建

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

android auto中国能用吗 android auto中国版官方_java_09


检验是否安装成功 打开cmd(一定要重新打开)

adb version

android auto中国能用吗 android auto中国版官方_Android_10

Appium

双击Appium的exe文件安装。

仅为当前用户安装,因为没有选择安装路径的地方,安装后需要知道安装的路径。

默认安装路径:C:\Users\wwxb\AppData\Local\Programs\Appium

android auto中国能用吗 android auto中国版官方_android_11


android auto中国能用吗 android auto中国版官方_android_12


android auto中国能用吗 android auto中国版官方_android auto中国能用吗_13

夜神模拟器安装与配置

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

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

  • 从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页面

android auto中国能用吗 android auto中国版官方_Android_14

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

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

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

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

adb devices

android auto中国能用吗 android auto中国版官方_android auto中国能用吗_15


获取包名与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为入口程序(注意前面有个点)

android auto中国能用吗 android auto中国版官方_Android_16


问题1:adb devices不显示设备名

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

appium检测器配置

android auto中国能用吗 android auto中国版官方_Android_17

配置号以后点击另存为

android auto中国能用吗 android auto中国版官方_android auto中国能用吗_18

这里名称随意,一般见名知意,Save(保存)

android auto中国能用吗 android auto中国版官方_Android_19

启动会话,首次会慢一些

android auto中国能用吗 android auto中国版官方_android_20


下次启动就可以在这里选择,不需要进行配置了

android auto中国能用吗 android auto中国版官方_java_21


启动后

android auto中国能用吗 android auto中国版官方_android auto中国能用吗_22


像选择元素操作,可以查看属性用于元素定位

android auto中国能用吗 android auto中国版官方_java_23

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();

    }

}