appium 是一個(gè)自動(dòng)化測(cè)試開(kāi)源工具,支持iOS和 Android平臺(tái)上的原生應(yīng)用,web應(yīng)用和混合應(yīng)用。
- 移動(dòng)原生應(yīng)用:?jiǎn)渭冇胕os或者android開(kāi)發(fā)語(yǔ)言編寫(xiě)的、針對(duì)具體某類(lèi)移動(dòng)設(shè)備、可直接被安裝到設(shè)備里的應(yīng)用,一般可通過(guò)應(yīng)用商店獲取,比如某個(gè)游戲app;
- 移動(dòng)web應(yīng)用:使用移動(dòng)瀏覽器訪(fǎng)問(wèn)的應(yīng)用(appium支持iOS上的Safari和Android上的Chrome),不需要下載到設(shè)備上,而是通過(guò)瀏覽器直接訪(fǎng)問(wèn),比如H5九曲封神游戲;
- 混合應(yīng)用:同時(shí)使用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言開(kāi)發(fā),通過(guò)應(yīng)用商店區(qū)分移動(dòng)操作系統(tǒng)分發(fā),用戶(hù)需要安裝使用的移動(dòng)應(yīng)用,比如手機(jī)上的淘寶客戶(hù)端
獲取應(yīng)用信息:
from appium import webdriver
desired_caps ={}
desired_caps['platformName']='Android'# 哪種移動(dòng)平臺(tái)
desired_caps['platformVersion']='4.2' #設(shè)備版本號(hào)
desired_caps['deviceName']='Android Emulator' #設(shè)備是模擬機(jī)
desired_caps['appPackage']='com.android.calculator2' #待測(cè)試的app的java package
desired_caps['appActivity']='.Calculator' #待測(cè)試的app的activity名字
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #
討論:webdriver.Remote實(shí)際上就是原生webdriver的子類(lèi),另外Remote()構(gòu)造函數(shù)的第一個(gè)參數(shù)中需要顯示指定appium server監(jiān)聽(tīng)的端口
1、monitor.bat(獲取app的packageactivity)
該文件位于your_andriod_sdk_path\tools下面。
該工具可以幫我們找到android控件的content-description,為以后的find_element_by_accessibility_id
定位方法做參數(shù)使用。
![](/d/20211017/a4546fbcb36828d408372d9f9227025d.gif)
2、uiautomatorviewer.bat(獲取app的package和控件屬性)
該文件位于your_andriod_sdk_path\tools下面。
該工具主要用來(lái)查看控件的屬性,比如resource id,class name等。
該工具也可查看被測(cè)app的appPackage(Desired Capabilities中使用)。
![](/d/20211017/3be13457c0d2d294e1cc54e15a999e13.gif)
3、獲取activity名字
1、直接看源碼,推薦;
2、反編譯
如果沒(méi)有代碼,那么可以反編譯該app。
這里將用到2個(gè)工具,分別是dex2jar和jd-gui。
以工具包里的ContactManager.apk為例,簡(jiǎn)單介紹一下反編譯的流程。
1,重命名ContactManager.apk為ContactManager.zip并解壓得到文件classes.dex;
2,解壓dex2jar-0.0.9.15.zip,并從命令行進(jìn)入該文件夾;C:\appium\apk反編譯\dex2jar-0.0.9.15
3,運(yùn)行命令d2j-dex2jar.bat C:\appium\apk反編譯\com.meijialove.activity-1\classes.dex,在當(dāng)前文件夾下得到classes-dex2jar.jar;
4,解壓jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;
5,使用jd-gui.exe打開(kāi)classes-dex2jar.jar;
![](/d/20211017/1832038df74bd9f4188347882f572cad.gif)
3、查看log,發(fā)現(xiàn)在Android Devices Monitor的log可以看到activity的名字
到此這篇關(guān)于詳解appium自動(dòng)化測(cè)試工具(monitor、uiautomatorviewer)的文章就介紹到這了,更多相關(guān)appium自動(dòng)化測(cè)試工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
- python爬蟲(chóng)之Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶(hù)手勢(shì)
- Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測(cè)試詳解
- appium測(cè)試之APP元素定位及基本工具介紹