1.安卓環境搭建
&關於app自動化,個人覺得安裝過程比較復雜,腳本難度實現和web自動化差不多封裝關鍵字即可,因此,下面會寫安裝、啟動APP以及過程中遇到的一些坑(這一篇偏向解釋給個人)
&目前appium環境搭建我還是比較喜歡根據蟲師寫的,搭建app自動化,之前搭過幾次基本沒啥問題而且也給出了下載鏈接 https://www.cnblogs.com/fnng/p/4540731.html
1.1https://nodejs.org/ 下載windows msi文件安裝下一步到最后即可(node.js 6.4之前的,不然和下面appium版本沖突)
1.2http://pan.baidu.com/s/1jGvAISu 下載appium 目前以AppiumForWindows_1_4_0_0.zip版本搭建,下載后解決下一步到最后即可
1.3下載sdk http://dl.google.com/android/android-sdk_r23.0.2-windows.zip 解壓后配置環境變量
ANDROID_HOME
%:\android\android-sdk-windows
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自動化,以接口自動化/性能為主