环境搭建
下载android-sdk-windows-appium与Appium-windows。
夜神模拟器/雷电模拟器/genymotion…
下载
- android-sdk下载
官网地址:https://developer.android.google.cn/studio/ Download options->Android Studio downloads,选择需要下载的系统版本下载,官网下载的这个文件太大了,不推荐,推荐使用下面的下载方式。
其它地址:https://www.androiddevtools.cn/ Android SDK 工具->SDK Tools,选择对应的系统下载。
例如Windows下的android-sdk_r24.4.1-windows.zip - Appium下载
地址:http://appium.io/downloads.html Appium Desktop Apps->Appium-Desktop for OSX, Windows and Linux,选择对应系统版本下载。
选择自己想要的版本下载:https://github.com/appium/appium-desktop/tags - 模拟器下载
夜神模拟器下载地址:https://www.yeshen.com/ 雷电模拟器下载地址:https://www.ldmnq.com/
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();
}
}