一婚陪、安裝nodes
先看看電腦有沒(méi)有安裝node.js,
在cmd中輸入 node -v
https://nodejs.org/en/download/ node.js下載
安裝之后在cmd中輸入 node -v
二软免、安裝Android SDK
為了方便 直接下載并安裝 Android Studio
設(shè)置ANDROID_HOME 系統(tǒng)變量為你的 Android SDK 路徑景殷,并把tools和platform-tools兩個(gè)目錄加入到系統(tǒng)的 Path路徑里年鸳。
變量: ANDROID_HOME
值: D:\android-sdk
設(shè)置: Path
值: %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
三妖枚、安裝jdk
下載jdk安裝包运提,并安裝鳍寂,依照下面的方法配置環(huán)境變量
變量: JAVA_HOME
值: java/jdk的路徑 (C:\Program Files\Java\jdk1.7.0_51)
變量: classpath
值: %JAVA_HOME%\lib;
設(shè)置: Path
值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
測(cè)試環(huán)境安裝成功:運(yùn)行cmd改含,輸入java -version 如果成功則出現(xiàn)java信息:
四、安裝appium
直接到官網(wǎng)http://appium.io下載appium 客戶端迄汛,并安裝捍壤,雙擊就可以出現(xiàn)下面這個(gè)頁(yè)面
點(diǎn)擊Android 標(biāo)識(shí),對(duì)程序進(jìn)行設(shè)置鞍爱,點(diǎn)擊右上方的三角形鹃觉,啟動(dòng)appium,當(dāng)出現(xiàn)welcome to Appium的時(shí)候點(diǎn)擊放大鏡睹逃,可以啟動(dòng)元素定位頁(yè)面盗扇。
啟動(dòng)元素定位的時(shí)候一定要確保電腦連接了手機(jī)或打開(kāi)了模擬器。
對(duì)于設(shè)備的id,可以在cmd中輸入 cmd devices 就可以獲得設(shè)備的id進(jìn)行配置沉填。
五疗隶、python配置
1.下載python 2.7
【鏈接】DownloadPython
https://www.python.org/downloads/
在path中配置 python的路徑
2.【鏈接】setuptools30.2.0
https://pypi.python.org/pypi/setuptools 下載setuptools,解壓,cmd中cd到setup tools文件夾翼闹,然后python setup.py 運(yùn)行斑鼻。
此步驟是方便python在cmd中安裝第三方插件。
3.直接到官網(wǎng)http://appium.io下載python-client-master,解壓后猎荠,cmd中cd到setup tools文件夾坚弱,然后python setup.py 運(yùn)行。
4.下載解釋器
在網(wǎng)上下載一個(gè)Pycharm,方便編寫python腳本关摇。
六荒叶、寫完腳本后,python + 測(cè)試腳本输虱,即可運(yùn)行測(cè)試腳本些楣,
但是前提是:appium首先是啟動(dòng)的,Android配置是正確的,設(shè)備是開(kāi)啟的戈毒。
如果沒(méi)有配置錯(cuò)誤艰猬,現(xiàn)在就可以運(yùn)行測(cè)試腳本了。
Appium安裝:
1.安裝包點(diǎn)擊安裝埋市、命令安裝
命令安裝前置條件:
1冠桃、安裝node.js,官網(wǎng)下載安裝: https://www.runoob.com/nodejs/nodejs-install-setup.html
2、安裝完運(yùn)行npm命令:npm 或者 node -v
3道宅、安裝cnpm : npm install -g cnpm --registry==https://registry.npm.tao.org
4食听、安裝appium:cnpm install -g appium
5、啟動(dòng)appium:appium
6污茵、關(guān)閉appium:Ctrl + C
Appium python庫(kù)安裝命令:pip install Appium-Python-Client
- 獲取app包名和啟動(dòng)名(手機(jī)必須打開(kāi)對(duì)應(yīng)app):
adb shell dumpsys window windows | grep mFocusedApp (Mac和Linux用grep樱报,win使用findstr,如:findstr usedApp)獲取到對(duì)應(yīng)結(jié)果,/斜杠之前到空格是包名泞当,斜杠之后到空格是啟動(dòng)名
adb命令:
安裝程序:adb install 文件路徑地址.apk
卸載程序:adb uninstall 包名
獲取包名(package)界面名(activity迹蛤,也叫啟動(dòng)名):打開(kāi)應(yīng)用-adb shell dumpsys windows | findstr usedApp
發(fā)送文件到手機(jī):adb push 電腦文件路徑 手機(jī)文件路徑
獲取app啟動(dòng)時(shí)間: adb shell am start -w 包名/啟動(dòng)名
ThisTime: 該界面啟動(dòng)耗時(shí)
TotalTime: ThisTime + application應(yīng)用等待資源啟動(dòng)時(shí)間
WaitTime: TotalTime + 系統(tǒng)資源啟動(dòng)時(shí)間
獲取手機(jī)日志:adb logcat
獲取當(dāng)前電腦已經(jīng)連接設(shè)備和設(shè)備號(hào):adb devices
#前置代碼,獲取driver
desires_caps = {}
desires_caps['platformName'] = 'Android' # 必填
desires_caps["platformVersion"] = '5.1' # 測(cè)試設(shè)備版本號(hào)襟士,必填
desires_caps['deviceName'] = '192.168.135.103:5555' # 設(shè)備名,必填盗飒,不為空就可以
# desires_caps['appPackage'] = 'com.android.settings' # 啟動(dòng)包名
# desires_caps['appActivity'] = '.Settings' # 啟動(dòng)名
desires_caps['appPackage'] = page.appPackage # 啟動(dòng)包名
desires_caps['appActivity'] = page.appActivity # 啟動(dòng)名
# 如果輸入中文不好使需要加上下面兩行
desired_caps["unicodeKeyboard"] = True
desired_caps["resetKeyboard"] = True
# 驅(qū)動(dòng) 從webdriver的Remote類里傳入兩個(gè)參數(shù)(一個(gè)是appium節(jié)點(diǎn),hub地址"字符串"陋桂,可按著Ctrl進(jìn)入Remote拷貝逆趣;另一個(gè)是啟動(dòng)參數(shù),字典)
appdriver = appium.webdriver.Remote('http://127.0.0.1:4723', desires_caps) # 連接本機(jī)Appium服務(wù)嗜历,以繼續(xù)以后的操作
在腳本中啟動(dòng)其他APP
driver.start_activity(app_package="", app_activity="")在腳本中獲取APP包名和界面名
driver.current_package
driver.current_activity安裝卸載以及判斷是否安裝
driver.install_app("apk路徑")
driver.remove_app("應(yīng)用程序包名")
driver.is_app_installed("應(yīng)用程序包名")將應(yīng)用置于后臺(tái)宣渗,參數(shù)傳入秒
driver.background_app(10)
熱啟動(dòng):進(jìn)入后臺(tái)在回到前臺(tái)。關(guān)機(jī)再開(kāi)這種屬于冷啟動(dòng)發(fā)送文件到手機(jī)梨州,或手機(jī)文件發(fā)送到電腦:
adb push 電腦端文件路徑 手機(jī)端的路徑
比如:adb push D:\新建文件夾\筆記\appium\appium.txt /sdcard/emulated/0/files查看手機(jī)運(yùn)行日志:adb logcat
獲取app啟動(dòng)時(shí)間: adb shell am start -w 包名/啟動(dòng)名
ThisTime: 該界面啟動(dòng)耗時(shí)
TotalTime: ThisTime + application應(yīng)用等待資源啟動(dòng)時(shí)間
WaitTime: TotalTime + 系統(tǒng)資源啟動(dòng)時(shí)間