利用python+Appium 之 如何在設備(模擬器)上自動安裝並啟動APP


大家都知道,要測試模擬用戶在手機端安裝一個APP, 首先會考慮到,在什么設備下安裝,設備版本是啥,設備名稱是啥,我要安裝啥APP。安裝完畢以后我要啟動和登錄APP。

那如何利用python + appium模塊如何實現這波操作呢???

思路:

(1)測試環境是什么???是Android?還是iOS???此處以Android為例進行分析:

設備:Android

版本:4.4.2  (Android對應的版本)

設備名稱:127.0.0.1:62001 (注意,此處是我的模擬器,如果是真機,可以在【設置】-【關於手機】-【型號】來看)

待安裝的APP:手機端QQ

 

Appium中想要通過自編寫的測試腳本來實現對模擬器/真機上的各類操作,需要appium-server來支撐它,因為appium-server可以專門實現與Android的通信,搭建一個通信橋梁。只有開啟了appium-sever服務器,並且成功連接設備才能真正實現數據交互,實現通信。

前置准備:

(1)連接Android設備

(2)開啟appium-server服務

啟動【appium-desktop】-【start sever】即可。

 

如何在appium-desktop上進行APP的Capbility配置???

配置解釋:

(1)platformName:設備名稱

(2)platformVersion:版本

(3)deviceName:設備名稱。如果是真機,則就是你的手機型號;如果是模擬器,你可以用:adb devices來獲取你的設備名稱(注意,前提是該設備已經連接了)。

(4)appPackage:包名。可以通過cmd命令行:appt dump badging 待安裝的.apk路徑。如:appt dump badging E:\\XXX.apk

(5)appActivity:啟動launch-Activity。可以通過命令行:appt dump badging E:\\XXX.apk |findstr-launchable-activity

(6)noReset:不重置。Ture:不重置,也就是當你啟動過這個APP后,如果不重置,那么他會記錄一些已經做過了的一些操作。假如一個APP,你安裝好了之后,首次啟動它,也許它會彈出一些比如升級、或者跳過某些廣告的操作。如果你的noReset=true,則下次你再次啟動時,就不會再彈出這些彈窗。如果你的noRest=false,這下次啟動時,仍會彈出這些彈框,就類似於手機的一個出廠設置狀態一樣。

 

在appium-desktop中可以進行Capbility進行設置,同時,你也可以自己通過腳本來進行配置。

注意:當需要在某些APP應用中的輸入框中輸入中文時,需要在Capbility中配置:

這樣設置之后,會有Appium的輸入法守護來執行輸入操作。從而防止亂碼的發生。

當運行這個腳本后,可以在你的模擬器或者真機上觀察到QQ的安裝和啟動。

 


免責聲明!

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



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