1.安卓環境搭建
&關於app自動化,我的以爲安裝過程比較複雜,腳本難度實現和web自動化差很少封裝關鍵字便可,所以,下面會寫安裝、啓動APP以及過程當中遇到的一些坑(這一篇偏向解釋給我的)html
&目前appium環境搭建我仍是比較喜歡根據蟲師寫的,搭建app自動化,以前搭過幾回基本沒啥問題並且也給出了下載連接 http://www.javashuo.com/article/p-ohnzgtia-bx.htmlnode
1.1https://nodejs.org/ 下載windows msi文件安裝下一步到最後便可(node.js 6.4以前的,否則和下面appium版本衝突)python
1.2http://pan.baidu.com/s/1jGvAISu 下載appium 目前以AppiumForWindows_1_4_0_0.zip版本搭建,下載後解決下一步到最後便可android
1.3下載sdk http://dl.google.com/android/android-sdk_r23.0.2-windows.zip 解壓後配置環境變量web
ANDROID_HOME windows
%:\android\android-sdk-windowsapp
path框架
%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;性能
1.4下載platform-tools測試
http://www.androiddevtools.cn/
1.5 appium放到環境變量裏
C:\Program Files (x86)\Appium\node_modules\.bin放入path
2.0安裝--注意點
&須要注意,若是appium安裝的是1.4.0,那麼node.js最好小於6.4.0否則會版本衝突
& 安裝 pip install appium-python-client
3.真機運行
&手機鏈接電腦--打開 開發者模式--usb調試-
在cmd下查看手機id,個人查詢到是 WJX7N17A17001123
adb devices
&命令啓動Appium,CMD下輸入下面的命令
ip,端口可定義
-U後面寫手機的id
appium -a 127.0.0.1 -p 4723 –U WJX7N17A17001123 --no-reset
4.測試腳本,打開app
&須要獲取先獲取被測APP的appPackage和appActivity兩個參數
先把apk放在電腦上
cmd-執行本身的apk目錄
aapt dump badging E:\apk\com.eg.android.AlipayGphone.apk
注意~
sdk下載,可下載最新的,真機運行也須要,否則可能會報錯 找不到build-tools
下載sdk源,有可能報錯,自定義一個新的sdk庫更新--mirrors.neusoft.edu.cn 端口80
腳本調試
# coding:utf-8 from appium import webdriver import os import time def setUpa(): desired_caps['appActivity']='com.cardinfolink.yunshouyin.activity.SplashActivity' desired_caps = {} desired_caps['platformName'] = 'Android' # 設備系統 # desired_caps['platformVersion'] = '7.0' # 設備系統版本 desired_caps['deviceName'] = 'WJX7N17A17001123' # 設備名稱 desired_caps['appPackage']='com.eg.android.AlipayGphone' #上面提到獲取的參數 desired_caps['appActivity']='com.eg.android.AlipayGphone.AlipayLogin' #上面說到獲取的參數 driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) time.sleep(2) driver.find_element_by_id('com.alipay.android.phone.openplatform:id/saoyisao_iv').click() #操做和web自動化方法幾乎一致 time.sleep(2) driver.find_element_by_xpath("//android.widget.ImageView[@resource-id='com.alipay.android.phone.openplatform:id/saomafu_iv']").click() driver.quit()
這樣一個demo就寫完了~ 下面就靠本身設計自動化框架封裝的實現 拉~ 這個暫時不說了
5.0模擬器運行
基於上面,模擬器須要的版本如下載,如今須要建立一個模擬器配置參考下蟲師的便可
打開模擬器,adb devices 查看是否鏈接 鏈接了直接運行腳本須要改下deviceName便可
6.0腳本參數化,簡單思路
&參考web自動化的參數化封裝關鍵字便可
注意點,
Appium啓動服務和關閉服務能夠作成bat處理,而後python調用便可
#寫下來彷佛和pytest沒啥關係,其實參考下pytest實現web自動化,都是同樣的操做:https://www.cnblogs.com/Jack-cx/p/9357680.html
#我以爲若是公司主業務不是移動的,不建議作持續集成,必要性不大,甚至不要作app的ui自動化,以接口自動化/性能爲主