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參數去安裝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM