一、搭环境
1. 安装android-studio
- JDK
- Android studio (android SDK、android studio、android virtual device)
- appium desktop
2. SDK工具
- plateform tools:adb.exe
- tools:monitor.bat
- emulator.exe
- android.bat
工具名|用途|验证是否可用
---|---|
adb.exe|命令行工具,通过USB控制android手机|adb devices
monitor.bat|抓取当前界面的元素,自动化时使用|dump当前界面
android.bat|控制android虚拟机|android list avd列出模拟器名称(android studio创建)
emulator.exe|启动模拟器|emulator @模拟器名称
3. 配置环境变量
“我的电脑” 右键菜单 —> 属性 —> 高级 —> 环境变量 —> 系统变量 —> 新建…
变量值 | 变量值 |
---|---|
ANDROID_HOME | C:\software\androidSDK |
找到 path 变量名—> “编辑” 添加:
变量名 | 变量值 |
---|---|
PATH | ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools; |
验证:
cmd—>adb
sdk/tools—>monitor.bat
二、appium界面自动化
1. appium服务端
Appium 移动测试中有个很重新的组件 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试
但Appium-Server有一两年没有更新了。Windows版在 2015 年底止步于的 AppiumForWindows_1_4_16_1.zip。
于是,新的工具 Appium-desktop 来了! 它来继续 Appium-Server的使命,当然, Appium-Server当前仍然是可用的
类型 | 安装程序 | 描述 |
---|---|---|
appium-server | AppiumForWindows_1_4_16_1.zip | 在2015年已停止更新 |
appium-desktop | appium-desktop-Setup-1.2.7.exe | 取代appiumForWindows |
2. appium客户端
所需软件:
序号 | 名称 | 用途 |
---|---|---|
1 | JDK | |
2 | myeclipse或者idea | |
3 | maven |
maven依赖
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.0.0-BETA5</version>
</dependency>
monitor.bat
https://blog.csdn.net/zhengshaolong8125/article/details/54632952
android元素属性|html元素属性
text|name
resource-id|id
class|class
xpath|xpath
myeclipse
- 新建web-maven工程
- 添加dependency
- 新建测试类
package com.guoya.autoUI;
import java.net.URL;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
public class TestAndroid {
public static void main(String[] args) throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "621QECQT4RL93");
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("appPackage", "com.meizu.flyme.calculator");
capabilities.setCapability("appActivity", "com.meizu.flyme.calculator.Calculator");
AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Thread.sleep(4000);
driver.findElement(By.id("com.meizu.flyme.calculator:id/digit7")).click();
driver.findElement(By.id("com.meizu.flyme.calculator:id/plus")).click();
driver.findElement(By.id("com.meizu.flyme.calculator:id/digit5")).click();
driver.findElement(By.id("com.meizu.flyme.calculator:id/eq")).click();
Thread.sleep(2000);
System.out.println("iuo");
String result = driver.findElement(By.id("com.meizu.flyme.calculator:id/edit_text")).getText();
System.out.println("result"+result);
driver.quit();
}
}
- adb查看计算器