Appium學習之驅動真機運行


一、Appium工具的簡單原理

  Appium工具可以分為:客戶端(appium-client)、服務端(appium-server)和移動設備端(模擬器或者真機)。客戶端支持多語言,如:python-client、java-client、ruby-client等。服務端支持多平台,如:Windows、Mac。最后Appium支持Android和iOS系統。原理圖放一下蟲師的:

  

二、Appium工具的安裝

  想要將Appium跑起來,那么需要安裝客戶端、服務端的相關軟件。客戶端的根據自己需要安裝不同的語言,如:Python、Java、Ruby等。服務端可以安裝:appium或者appium-desktop。這里我使用:Python-client +  appium-desktop的方式進行安裝。

  我的運行環境:【操作系統:win10;移動設備:真機紅米note2;已安裝JDK;已安裝python3.7】

  2.1 安裝客戶端,appium-python(使用pip的方式安裝)

    使用win+r 打開運行,輸入cmd回車打開命令提示符頁面。輸入下面的命令自行安裝:

pip install appium-python-client

  2.2 安裝服務端,appium-desktop

    下載鏈接:https://github.com/appium/appium-desktop/releases  我下載了exe版直接下一步進行安裝。

    如果想要安裝appium的,可以參考此鏈接進行安裝:

    http://www.testclass.net/appium_base/appium-base-server

三、服務端連接移動設備

  准備真機一台:Redmi Note 2,可傳輸數據線一條(如果打開了USB調試連接電腦沒有反應只是顯示充電,那這條數據線極可能是不能傳輸數據的)

  3.1 打開USB調試

    設置——我的設備——全部參數——對着“MIUI版本”那一項點7次,會提示開發者選項打開。然后回到 設置——更多設置——開發者選項,將“開啟開發者選項”、“USB調試”的開關設置為開啟狀態。

   

  3.2 安裝安卓SDK(可以對手機進行連接操作,包括獲取id,設備名,包名等)

    參考教程:

    http://www.testclass.net/appium_base/appium-base-sdk

    https://www.cnblogs.com/sheseido/p/9368761.html

    1、下載安卓SDK安裝包,地址:http://tools.android-studio.org/index.php/sdk

    2、安裝完成或者解壓完成后,進入目錄中打開:SDK Manager.exe

    3、我們使用真機測試,不需要安裝模擬器鏡像,暫時只需要安裝Tools和Platform-tools,以后有需要可以繼續安裝

    

  3.3 獲取手機的設備信息

    1、打開命令提示符,定位到platform-tools的目錄下,輸入:adb devices 命令查看連接的手機。

    

    2、在設置——我的設備——全部參數中,記下“Android版本”的版本號。

    3、清空后台的所有程序,打開計算器,然后打開命令提示符,定位到adb所在的目錄路徑,輸入命令:adb shell  回車,再輸入:dumpsys window | grep "mCurrentFocus"。記下com.miui.calculator和com.miui.calculator.cal.CalculatorActivity

    

    4、啟動appium-desktop,點擊右上角的放大鏡,在彈出的頁面中輸入前面3步所獲取到的值,然后點擊Start Session即可連接,如圖:

    

    

         

    PS:如果出現如下:An unknown server-side error occurred while processing the command. Original error: pkg: /data/local/tmp/appium_cache/728413456b8xxxxxxxxxxxxd6bd577ca6418.apk Failure [INSTALL_FAILED_USER_RESTRICTED]的報錯請在開發者選項中打開USB安裝、USB調試(安全設置)的開關。開關打開后,會安裝一個appium setting的APP,安裝完即可進行連接。

    

四、使用客戶端發送指令驅動真機運行

  1、編寫客戶端代碼(python),點擊運行即可驅動真機進行計算

from appium import webdriver # 導入appium包
import time

# 連接手機app初始化的一些信息
desc = {}
desc['deviceName']='PNMxxxxxxxxxUQK'# 手機設備名稱,adb devices
desc['platformVersion']='5.0.2'# 手機版本,在手機中:設置--關於手機
desc['platformName']='Android' # 手機類型,ios或android
desc['appPackage']='com.miui.calculator'#包名
desc['appActivity']='com.miui.calculator.cal.CalculatorActivity'#啟動入口

driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desc)#訪問服務接口,並啟動手機app

time.sleep(20)
driver.find_element_by_id('com.miui.calculator:id/btn_6_s').click()
time.sleep(2)
driver.find_element_by_id('com.miui.calculator:id/btn_plus_s').click()
driver.find_element_by_id('com.miui.calculator:id/btn_2_s').click()
driver.find_element_by_id('com.miui.calculator:id/btn_equal_s').click()

driver.quit()

  PS:如果發現appium-desktop連接正常,且運行代碼沒有錯誤,但是真機卻沒有進行模擬運行,請檢查開發者選項中的“USB調試(安全設置)”和“允許模擬位置” 是否處於開啟狀態,關閉狀態將不能驅動真機運行。

 


免責聲明!

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



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