APP自动化之Appnium基础教程
一、前言
随着移动互联网的发展,APP上面的测试逐渐的流行起来。而作为APP自动化测试中最常用的框架就是Appium。Appium是一个开源、跨平台的测试框架。可以用来测试原生及混合的移动端应用。
下面就从Appium环境搭建
和基础脚本编写
来展开。其中Appium环境搭建中,需要安装JDK
、Android SDK
、模拟器
(或者用真机),从而后续就是使用代码连接Appium来操作模拟器。
二、Appium环境搭建
2.1 JDK安装
关于JDK的安装及环境变量配置就不在这里多做解释了。自行百度或者参考这个网址:java环境变量配置
要是还不会,请自挂东南枝(开个玩笑,哈哈)
2.2 Android SDK安装配置
-
下载压缩包文件
链接:这是一个链接
提取码:99a6 -
解压后点击打开
SDK Manager.exe
文件
-
勾选Tools下的前三个选项,并安装,安装完成后目录下回多出几个文件夹。
-
环境变量配置
ANDROID_HOME
:SDK安装目录
Path
:%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools;
-
验证配置:输入
adb
和aapt
有使用帮助信息说明配置成功了
2.3 模拟器安装及配置
这里由于不想用真机做实验,就安装模拟器,这里选择的是夜神模拟器,安装的话,直接网上下载后安装即可,记住安装目录即可
- 打开模拟器并安装APK文件
- 查看服务是否启动
adb devices nox_adb.exe connect 127.0.0.1:62001
- 踩坑问题——adb.exe与nox_adb.exe版本问题
使用adb version、nox_adb version命令查看bin目录下adb.exe、 nox_adb.exe的版本,然后切换到其他目录下,使用adb version查看版本。 如果不一致,就要将Android SDK目录下的adb.exe复制替换到模拟器bin目录下, 并且复制修改名称为nox_adb.exe替换模拟器bin目录下的nox_adb.exe
2.4 Appium Desktop安装及使用
- 下载安装包文件
链接:这是一个链接
提取码:99a6 - 点击安装
appium-desktop-Setup-1.3.1.exe
文件,直接点击安装即可。
2.5 Appium配置连接模拟器
- 使用命令查看Android版本
adb shell getprop ro.build.version.release
- 使用命令APK文件信息
aapt dump badging D:\BaiduMap.apk
- 创建连接
- 填写参数并连接
{ "platformName": "Android", "platformVersion": "5.1.1", "deviceName": "127.0.0.1:62001", "appPackage": "com.baidu.BaiduMap", "appActivity": "com.baidu.baidumaps.WelcomeScreen" }
- 最后效果
三、实战基本脚本编写
3.1 创建Maven项目并配置
<dependencies>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.3.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
3.2 简单Demo
import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;
/**
* @author YFF
* @version 1.0.0
* @date 2020/06/06
**/
public class AppTest {
public static void main(String[] args) throws Exception{
AppiumDriver driver=null;
DesiredCapabilities cap=new DesiredCapabilities();
cap.setCapability("platformName","Android");
cap.setCapability("platformVersion","5.1.1");
cap.setCapability("deviceName","127.0.0.1:62001");
cap.setCapability("appPackage","com.baidu.BaiduMap");
cap.setCapability("appActivity","com.baidu.baidumaps.WelcomeScreen");
cap.setCapability("unicodeKeyboard","true");
cap.setCapability("resetKeyboard","true");
cap.setCapability("noSign","true");
driver=new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);
Thread.sleep(5000);
/*点击同意按钮*/
driver.findElement(By.id("com.baidu.BaiduMap:id/ok_btn")).click();
Thread.sleep(5000);
/*点击进入地图*/
driver.findElement(By.id("com.baidu.BaiduMap:id/btn_enter_map")).click();
Thread.sleep(5000);
driver.quit();
}
}
四、写在最后
(1)将这个过程中常用的命令写在后面,方面后面查阅。
##模拟器连接
nox_adb.exe connect 127.0.0.1:62001
##查看设备信息
adb devices
##查看Android版本
adb shell getprop ro.build.version.release
##查看APK信息
aapt dump badging D:\BaiduMap.apk
##查看adb.exe和nox_adb.exe版本
adb version
nox_adb version
##Appnium连接配置信息
{
"platformName": "Android",
"platformVersion": "5.1.1",
"deviceName": "127.0.0.1:62001",
"appPackage": "com.baidu.BaiduMap",
"appActivity": "com.baidu.baidumaps.WelcomeScreen"
}