App自動化測試在面臨元素定位時要比Web復(fù)雜很多,除了原生應(yīng)用、MWeb應(yīng)用、混合應(yīng)用之外,還有flutter的逐漸流行,而且很多老的App都是部分內(nèi)嵌flutter頁面,這又給App自動化定位進(jìn)一步增加了難度,圖像識別是一個很好的方向;可以有效屏蔽頁面元素屬性。
Appium 在V1.9.0版本中提供了針對于圖像識別的全新圖片元素定位的方法。
安裝列表
先來羅列要安裝的工具,有點(diǎn)多~!
安裝基礎(chǔ)
這部分不會重點(diǎn)介紹,請自行準(zhǔn)備。
windows 11
node.js/npm
chocolatey
Java 11
Android設(shè)備一臺
安裝工具
本文偏重介紹一下工具的安裝。
appium
appium-doctor
cmake
windows-build-tools
chocolatey
OpenCV
opencv4nodejs
python-client(appium)
安裝工作
以下需要用到命令的,請以管理員權(quán)限在windows PowerShell下執(zhí)行。
安裝appium
使用appium 有兩種方式,appium命令 和appium-desktop,這里我們安裝和使用前者。
>npminstall-gappium
安裝Cmake
OpenCV 使用 Cmake 來構(gòu)建工程, 下載編譯后的文件即可。
下載地址:https://github.com/Kitware/CMake/releases/
下載完后解壓到任意路徑,例如:D:appium,在環(huán)境變量中path添加 Cmake 的 bin 目錄
D:appiumcmake-3.23.1-windows-x86_64in-> 添加環(huán)境變量Path。
安裝 windows-build-tools
Build Tools 即構(gòu)建工具,用于把源代碼生成可執(zhí)行應(yīng)用程序的過程自動化的程序(例如Android app生成apk)。構(gòu)建包括編譯、連接等把代碼打包成可用的或可執(zhí)行的形式。
>npminstall--gwindows-build-tools
安裝過程會下載和安裝python27,安裝路徑如下:C:Users{user}.windows-build-toolspython27
C:Usersfnngj.windows-build-toolspython27-> 添加環(huán)境變量Path。
安裝OpenCV
>chocoinstallOpenCV-y-version4.5.0
choco 是windows下面的包管理工具。
OpenCV默認(rèn)安裝路徑:C: oolsopencv
配置環(huán)境變量
新建系統(tǒng)變量:
變量名:OPENCV_BIN_DIR 變量值:C: oolsopencvuildx64vc15in 變量名:OPENCV_DIR 變量值:C: oolsopencvuildx64vc15 變量名:OPENCV_INCLUDE_DIR 變量值:C: oolsopencvuildinclude 變量名:OPENCV_LIB_DIR 變量值:C: oolsopencvuildx64vc15lib
%OPENCV_BIN_DIR%-> 添加到環(huán)境變量path
安裝opencv4nodejs
設(shè)置環(huán)境變量
>setOPENCV4NODEJS_DISABLE_AUTOBUILD=1
安裝opencv4nodejs
>npmi-gopencv4nodejs
安裝appium-doctor
appium-doctor用于檢查appium安裝環(huán)境。通過npm安裝。
>npmi-gappium-doctor
檢查appium環(huán)境。
>appium-doctor infoAppiumDoctorAppiumDoctorv.1.16.0 infoAppiumDoctor###Diagnosticfornecessarydependenciesstarting### infoAppiumDoctorTheNode.jsbinarywasfoundat:D:ProgramFiles odejs ode.EXE infoAppiumDoctorNodeversionis14.18.1 infoAppiumDoctorANDROID_HOMEissetto:D:androidSdk infoAppiumDoctorJAVA_HOMEissetto:C:ProgramFilesJavajdk-11.0.15 infoAppiumDoctorCheckingadb,android,emulator infoAppiumDoctor'adb'isinD:androidSdkplatform-toolsadb.exe infoAppiumDoctor'android'isinD:androidSdk oolsandroid.bat infoAppiumDoctor'emulator'isinD:androidSdkemulatoremulator.exe infoAppiumDoctoradb,android,emulatorexist:D:androidSdk infoAppiumDoctor'bin'subfolderexistsunder'C:ProgramFilesJavajdk-11.0.15' infoAppiumDoctor###Diagnosticfornecessarydependenciescompleted,nofixneeded.### infoAppiumDoctor infoAppiumDoctor###Diagnosticforoptionaldependenciesstarting### infoAppiumDoctoropencv4nodejsisinstalledat:C:UsersfnngjAppDataRoaming pm.Installedversionis:5.6.0 infoAppiumDoctorBye!Runappium-doctoragainwhenallmanualfixeshavebeenapplied! infoAppiumDoctor
看到opencv4nodejs前面 √ 即可。
進(jìn)行自動化測試
安裝 python-client
appium支持不同語言的client編寫自動化測試用例。這里以python的 python-client為例。
https://github.com/appium/python-client
>pipinstallAppium-Python-Client
啟動 appium
>appium [Appium]WelcometoAppiumv1.22.3 [Appium]AppiumRESThttpinterfacelistenerstartedon0.0.0.0:4723
編寫自動化用例
以某app為例,右下角懸浮的按鈕很難定位,可以截圖保存。
界面:
按鈕截圖:
保存路徑為:D:appiumimagewrite.png
編寫自動規(guī)劃用例
fromtimeimportsleep fromappiumimportwebdriver #定義運(yùn)行環(huán)境 desired_caps={ 'deviceName':'JEF_AN20', 'automationName':'appium', 'platformName':'Android', 'platformVersion':'10.0', 'appPackage':'com.company.bbs', 'appActivity':'.ui.LoadingActivity', 'noReset':True, 'ignoreHiddenApiPolicyError':True } #啟動App dr=webdriver.Remote( command_executor='http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps) sleep(2) #通過圖片定位元素 dr.find_element_by_image(r"D:appiumimagewrite.png").click()
總結(jié)
本文簡單總結(jié)了整個安裝過程,在這個過程中必定會踩不少坑,比如npm安裝很慢 或 報錯。缺少相關(guān)依賴。android SDK如何安裝。需要一些相關(guān)的知識儲備。
-
Android
+關(guān)注
關(guān)注
12文章
3946瀏覽量
128007 -
圖像識別
+關(guān)注
關(guān)注
9文章
521瀏覽量
38404 -
APP
+關(guān)注
關(guān)注
33文章
1580瀏覽量
72835 -
SDK
+關(guān)注
關(guān)注
3文章
1047瀏覽量
46316
原文標(biāo)題:appium基于openv4node圖像識別進(jìn)行自動化測試
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Android SDK開發(fā)環(huán)境搭建
安裝Vuforia SDK步驟
基于高通Vuforia SDK搭建Android版移動AR應(yīng)用開發(fā)環(huán)境
Android版高通AR Vuforia QCAR SDK學(xué)習(xí)筆記
安裝使用Qualcomm Snapdragon神經(jīng)處理引擎(NPE) SDK
linux的SDK安裝步驟
Android SDK 開發(fā)中文文檔
SDK Manager PC Android模擬器安裝使用
Android SDK開發(fā)環(huán)境詳細(xì)資料教程免費(fèi)下載

你知道基于Ubuntu的Tizen SDK怎樣安裝?

如何使用Android SDK和ADT插件設(shè)置工作環(huán)境

Core 3399J Android 7.1 industry SDK源碼

AIO 3399C源代碼Android 8.1 SDK

MobPush:Android SDK 集成指南

評論