第一節(jié)安裝Appium
Appium官方網(wǎng)站:http://appium.io/
先安裝node.js?。node.js官方網(wǎng)站:https://nodejs.org/
以Windows?7?(64)?為例進(jìn)行安裝严望,選擇Windows?installer(.msi)??64-bit?版本進(jìn)行下載
下載完成,雙擊進(jìn)行安裝
安裝完成卷谈,打開(kāi)Windows命令提示符(CMD 命令)笤妙,敲入“npm”命令回車蚕涤。
出現(xiàn)以上信息表示安裝成功癞揉。
下面通過(guò)npm安裝Appium?纸肉。
使用淘寶源安裝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium@1.6.3
安裝appium1.6.3版本
安裝完成之后配置環(huán)境變量,編輯path喊熟,例如添加:
C:\Program Files\nodejs\node_modules\.bin;
C:\Program Files\nodejs\;
運(yùn)行cmd柏肪,輸入:appium -v,若正常顯示版本信息芥牌,則appium環(huán)境安裝成功
第二節(jié)安裝Android開(kāi)發(fā)環(huán)境
安裝java?環(huán)境
java下載地址:http://www.java.com/zh_CN/download/manual.jsp
雙擊下載的JDK?烦味,設(shè)置安裝路徑。這里我們選擇默認(rèn)安裝在
C:\Program?Files?(x86)\Java\jdk1.8.0_25目錄下胳泉。?
下面設(shè)置環(huán)境變量:
“我的電腦”右鍵菜單--->屬性--->高級(jí)--->環(huán)境變量--->系統(tǒng)變量-->新建..
變量名:JAVA_HOME?
變量值:C:\Program?Files?(x86)\Java\jdk1.8.0_25?
變量名:CALSS_PATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;?
變量名:PATH
變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
在Windows命令提示符下輸入java看是否配置成功:
安裝android?adt?&?SDK
Android-sdk下載地址:http://dl.google.com/android/installer_r23.0.2-windows.exe
或者?http://dl.google.com/android/android-sdk_r23.0.2-windows.zip
下面設(shè)置Android環(huán)境變量拐叉,方法與java環(huán)境變量類似岩遗。(我本機(jī)的目錄為:D:\android\android-sdk-windows)
“我的電腦”右鍵菜單--->屬性--->高級(jí)--->環(huán)境變量--->系統(tǒng)變量-->新建..
變量名:ANDROID_HOME?
變量值:D:\android\android-sdk-windows
變量名:PATH
變量值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
安裝SDK?Platform-Tools
http://www.androiddevtools.cn/
把解壓出來(lái)的?platform-tools?文件夾放在 android sdk 根目錄下扇商,并把?adb所在的目錄添加到系統(tǒng)PATH?路徑里,即可在命令行里直接訪問(wèn)了 adb, fastboot 等工具宿礁。
安裝SDK?Build-Tools ??http://www.androiddevtools.cn/
這是Android開(kāi)發(fā)所需的Build-Tools案铺,下載并解壓后,將解壓出的整個(gè)文件夾復(fù)制或者移動(dòng)到??android sdk 根目錄/build-tools?文件夾
打開(kāi)Windows 命令提示符(CMD)梆靖,通過(guò)“appium-doctor”命令檢查appium環(huán)境控汉。
如果出現(xiàn)“All?Checks?were?successful”的提示,說(shuō)明基本環(huán)境已經(jīng)配置完成返吻。
安裝Python ?和 ?Appium?Client 包
Python下載
Python官網(wǎng):https://www.python.org/downloads/windows/
下載后姑子,雙擊下載包,進(jìn)入Python安裝向?qū)Р饨惭b非常簡(jiǎn)單街佑,你只需要使用默認(rèn)的設(shè)置一直點(diǎn)擊"下一步"直到安裝完成即可谢翎。
配置環(huán)境變量
在path添加python安裝路徑即可(我的路徑如下:)
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe
CMD 輸入python
表示環(huán)境安裝成功
集成開(kāi)發(fā)環(huán)境PyCharm
PyCharm 下載地址 :?https://www.jetbrains.com/pycharm/download/
安裝 PIP 命令 (方便以后安裝其他三方包)
進(jìn)入python Scripts 目錄
cd C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts
執(zhí)行?easy_install.exe pip命令
Scripts文件夾下會(huì)出現(xiàn)一系列和pip有關(guān)的文件,其中有pip.exe沐旨。
pip.exe的路徑也添加到環(huán)境變量PATH中
輸入命令pip如果識(shí)別成功則配置完成(可以使用pip 來(lái)安裝三方包了)
安裝Appium?Client??????pip install?Appium-Python-Client???
安裝selenium ? ? ? ? ? ? ?pip install??selenium
所有的環(huán)境配置結(jié)束
啟動(dòng)Appium
appium(按需選擇) ? ?通過(guò)CMD命令行啟動(dòng)
appium ?????????????????????#直接啟動(dòng)appium
appium --no-reset ??????????#不重置app
appium --session-override ??#覆蓋登錄信息
USB數(shù)據(jù)線連接手機(jī)
先打開(kāi)手機(jī)的開(kāi)發(fā)者選項(xiàng)森逮,打開(kāi)USB調(diào)試模式 (華為:設(shè)置—開(kāi)發(fā)者選項(xiàng)—USB調(diào)試)
USB數(shù)據(jù)線連接手機(jī),提示選擇訪問(wèn)數(shù)據(jù)模式
使用命令adb devices 查看手機(jī)是否連接成功(如果失敗磁携,有可能是手機(jī)助手占用端口褒侧,結(jié)束手機(jī)助手進(jìn)程即可)
如果出現(xiàn)該提示則連接成功
一.編寫python腳本
首先要獲取app的package name 和 launchable activity name
查看pack name和activity name ?方法如下:
1.進(jìn)入安卓build-tools ? ? ?cd D:\android-sdk-windows\build-tools\
2.輸入命令 aapt dump badging C:\Users\Administrator\Desktop\youapp.apk ?(我這里是把安卓的APK放到了桌面上,如果報(bào)錯(cuò),可能是工具問(wèn)題谊迄,將build-tools替換即可 ?https://pan.baidu.com/s/1MCNpyo7rlWsixHSqk9wV3Q)
3.找到并記錄
獲取driver
打開(kāi)pycharm 新建py文件闷供,并編輯以下代碼
from appiumimport webdriver
desired_caps = {}
desired_caps['platformName'] = 'android'
desired_caps['platformVersion'] = '7.0'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = ‘a(chǎn)pp package name’(你的app包名)
desired_caps['appActivity'] = ‘a(chǎn)pp launchable-activity’(你的app Activity名)
desired_caps['automationName'] = 'uiautomator2'
driver=webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
?
連接真機(jī)并啟動(dòng)appium ? 命令行輸入:appium
在pycharm空白處右擊,run運(yùn)行腳本 如果能成功打開(kāi)手機(jī)app ?則表示連接成功
二.使用uiautomatorview 查看定位框架元素
運(yùn)行D:\android-sdk-windows\tools下的 uiautomatorviewer.bat
打開(kāi)下圖UI界面
點(diǎn)擊右上角的手機(jī)圖標(biāo)抓取元素(可以先打開(kāi)你要測(cè)試的App然后點(diǎn)圖標(biāo)统诺,獲取的就是app的元素了)
在右邊可以看到已經(jīng)成功獲取到元素
我們接著在上面連接手機(jī)的代碼下繼續(xù)編碼
1.獲取并操作元素
連接手機(jī)后獲得一個(gè)driver對(duì)象这吻,操作drive對(duì)象來(lái)操作元素
可以通過(guò)class,resource-id 篙议,xpath(需要自己編寫) ?來(lái)定位元素 (元素信息在node_detail 即右下角)
driver.find_element_by_id('com.huawei.android.launcher:id/dock_divider')
driver.find_element_by_class_name('com.huawei.android.launcher')
一般方法有click唾糯,get_attribute,send_keys
driver.find_element_by_id('com.huawei.android.launcher:id/dock_divider').click()
driver.find_element_by_class_name('com.huawei.android.launcher').send_keys('aaa')
driver.find_element_by_class_name('com.huawei.android.launcher').get_attribute('text')
其他詳細(xì)的方法可以百度查詢
進(jìn)行斷言
通過(guò)繼承python自帶的測(cè)試框架 unittest 可以使用它的斷言方法
也能自己編寫斷言例如通過(guò)判斷頁(yè)面title來(lái)斷言頁(yè)面是否跳轉(zhuǎn)成功
Title=driver.find_element_by_id('title_id').get_attribute('text')
If Title != ‘首頁(yè)’:
? ? raise print('頁(yè)面跳轉(zhuǎn)失敗')
Else:
? ? Print (‘頁(yè)面跳轉(zhuǎn)成功’)
后面可以學(xué)習(xí)python的unitest 框架鬼贱,數(shù)據(jù)驅(qū)動(dòng)模式移怯,以及代碼封裝和對(duì)象操作 ,提高代碼質(zhì)量