Python3+Appium學習筆記03-啟動app
這個是appium相關的官方api地址:http://appium.io/docs/en/about-appium/api/
如同selenium進行自動化測試時,需要先創建一個瀏覽器實例一樣。在使用appium進行自動化測試時,需要先創建一個被測app的實例。下圖是官網給的示例,emmm貌似開頭重復了。
所以創建一個app實例是通過Remote()方法來的,其中第一個參數是appium服務端的地址,第二個參數是具體的請求內容
看文檔好像是一個post請求,這個請求內容是一個json格式的請求實體
官網的示例只給了一些必須的參數。很多其他的參數我也沒在官網看到。如果有需要可以百度一下。感覺知道幾個必須的暫時夠用了
platformName 被測試設備的系統
platformVersion 被測試設備系統版本號
deviceName 被測試設備的設備名
上面三個字段應該是必傳字段
autoLaunch 是否自動安裝並啟動應用
app apk安裝路徑
appPackage apk包名
appActivity apk入口
對於安卓機器來說,app這個參數就是重新裝apk並啟動。appPackage和appActivity就是從手機已有的應用啟動。根據實際情況可以選擇哪個模式。app參數的優先級貌似高於另外兩個。
接下來看下怎麽獲取相關參數的數據
deviceName可以通過cmd命令行輸入adb devices命令來獲得
appPackage和appActivity獲取的方式很多。網上有很多方式介紹。推薦較多的是通過aapt去從apk包裏找出相應信息。但是返回的信息較多。
我使用的方式是手機連接電腦,然後打開你想要測試的應用。cmd中輸入命令adb shell "dumpsys activity | grep mFocusedActivity" 比如打開淘寶
第一個com.taobao.taobao是包名。第二個com.taobao.tao.TBMainActivity就是入口
接下來看下代碼效果
1.首先打開appium
2.點擊啟動服務器
3.如果是通過代碼的話,到這一步就可以了。如果想通過appium desktop去啟用的話可以點啟動會話按鈕,把相應參數添加進去就可以了
4.代碼需要請求的服務器地址
5.具體代碼
from appium import webdriver desired_caps = { ‘platformName‘: ‘Android‘, ‘platformVersion‘: ‘7.1.2‘, ‘deviceName‘: ‘1b6ca8f‘, ‘appPackage‘: ‘com.taobao.taobao‘, ‘appActivity‘: ‘com.taobao.tao.TBMainActivity‘ } webdriver.Remote(‘127.0.0.1:4723/wd/hub‘, desired_caps)
我這邊是啟動成功了,第一次使用時,應該會在手機上請求安裝一個Appium settings的app。另外就是啟動app時會有一些授權提示,比如定位信息等。這些只能手動點下。貌似還沒有辦法代碼通過。
也可以試下app參數去安裝
Python3+Appium學習筆記03-啟動app