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"
}