App自動(dòng)化測(cè)試在面臨元素定位時(shí)要比Web復(fù)雜很多,除了原生應(yīng)用、MWeb應(yīng)用、混合應(yīng)用之外,還有flutter的逐漸流行,而且很多老的App都是部分內(nèi)嵌flutter頁(yè)面,這又給App自動(dòng)化定位進(jìn)一步增加了難度,圖像識(shí)別是一個(gè)很好的方向;可以有效屏蔽頁(yè)面元素屬性。
Appium 在V1.9.0版本中提供了針對(duì)于圖像識(shí)別的全新圖片元素定位的方法。
安裝列表
先來(lái)羅列要安裝的工具,有點(diǎn)多~!
安裝基礎(chǔ)
這部分不會(huì)重點(diǎn)介紹,請(qǐng)自行準(zhǔn)備。
windows 11
node.js/npm
chocolatey
Java 11
Android設(shè)備一臺(tái)
安裝工具
本文偏重介紹一下工具的安裝。
appium
appium-doctor
cmake
windows-build-tools
chocolatey
OpenCV
opencv4nodejs
python-client(appium)
安裝工作
以下需要用到命令的,請(qǐng)以管理員權(quán)限在windows PowerShell下執(zhí)行。
安裝appium
使用appium 有兩種方式,appium命令 和appium-desktop,這里我們安裝和使用前者。
>npminstall-gappium
安裝Cmake
OpenCV 使用 Cmake 來(lái)構(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)用程序的過(guò)程自動(dòng)化的程序(例如Android app生成apk)。構(gòu)建包括編譯、連接等把代碼打包成可用的或可執(zhí)行的形式。
>npminstall--gwindows-build-tools
安裝過(guò)程會(huì)下載和安裝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)境。通過(guò)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)行自動(dòng)化測(cè)試
安裝 python-client
appium支持不同語(yǔ)言的client編寫(xiě)自動(dòng)化測(cè)試用例。這里以python的 python-client為例。
https://github.com/appium/python-client
>pipinstallAppium-Python-Client
啟動(dòng) appium
>appium [Appium]WelcometoAppiumv1.22.3 [Appium]AppiumRESThttpinterfacelistenerstartedon0.0.0.0:4723
編寫(xiě)自動(dòng)化用例
以某app為例,右下角懸浮的按鈕很難定位,可以截圖保存。
界面:
按鈕截圖:
保存路徑為:D:appiumimagewrite.png
編寫(xiě)自動(dòng)規(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 } #啟動(dòng)App dr=webdriver.Remote( command_executor='http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps) sleep(2) #通過(guò)圖片定位元素 dr.find_element_by_image(r"D:appiumimagewrite.png").click()
總結(jié)
本文簡(jiǎn)單總結(jié)了整個(gè)安裝過(guò)程,在這個(gè)過(guò)程中必定會(huì)踩不少坑,比如npm安裝很慢 或 報(bào)錯(cuò)。缺少相關(guān)依賴(lài)。android SDK如何安裝。需要一些相關(guān)的知識(shí)儲(chǔ)備。
-
Android
+關(guān)注
關(guān)注
12文章
3959瀏覽量
129088 -
圖像識(shí)別
+關(guān)注
關(guān)注
9文章
525瀏覽量
38762 -
APP
+關(guān)注
關(guān)注
33文章
1584瀏覽量
73568 -
SDK
+關(guān)注
關(guān)注
3文章
1057瀏覽量
47134
原文標(biāo)題:appium基于openv4node圖像識(shí)別進(jìn)行自動(dòng)化測(cè)試
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Android SDK開(kāi)發(fā)環(huán)境搭建
安裝Vuforia SDK步驟
基于高通Vuforia SDK搭建Android版移動(dòng)AR應(yīng)用開(kāi)發(fā)環(huán)境
Android版高通AR Vuforia QCAR SDK學(xué)習(xí)筆記
安裝使用Qualcomm Snapdragon神經(jīng)處理引擎(NPE) SDK
linux的SDK安裝步驟
Android SDK 開(kāi)發(fā)中文文檔
SDK Manager PC Android模擬器安裝使用
Android SDK開(kāi)發(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 7.1 industry SDK源碼

MobPush:Android SDK 集成指南

評(píng)論