🔥Appium+python 自動化(六)- 連線模擬器並啟動淘寶 APP(超詳解)
1.簡介
上一篇講解完模擬器的安裝、配置好以後,就好比我們手機已經買好,並且系統已經做好了,就差我們用資料線和電腦連線開始實戰了,這篇宏哥就帶著小夥伴們和童鞋們趁熱打鐵,講解和分享一下如何連線模擬器(電腦版的虛擬手機),然後再安裝一款 APP-淘寶為例。
2.appium+pycharm+ 連線夜神模擬器並啟動淘寶 APP(推薦)
1、首先開啟 pycharm 並寫好程式碼,這裡以淘寶 APK 作為測試 Demo,淘寶 APK 我是放在電腦桌面(或者放置同程式碼同個目錄下)。如下圖所示:
其中 |:driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub,desired_caps') # 這個地址是怎麼來的呢?,見 appium 設定項,如下圖所示:
2、開啟 appium 並點選右上角三角符號,如下圖所示:
3、開啟夜神模擬器,如下圖所示:
4、開啟 CMD,進入夜神模擬器的安裝路徑下:D:\software\nox\Nox\bin,執行指令:nox_adb.exe connect 127.0.0.1:62001 和指令 adb devices 檢視裝置名,如下圖所示:
5、執行 pycharm 程式碼,並檢視結果,如下圖所示(暫時不理會出錯問題,後續會講解)但是在模擬器看到新增了兩個小機器人,就表示已經成功了:
3.appium+pycharm+ 連線 AVD 模擬器(不推薦)
1、第一、二步和連線夜神模擬器一樣。
2、啟動 AVD 模擬器(這個上一篇(傳送門)都給小夥伴們演示過了,不清楚的返回頭複習一下,即可。相當簡單的)
3、 我們在進行測試的時候,我們肯定需要檢視裝置連線是否成功,裝置的資訊是否能夠獲取。adb devices 就可以實現,直接在命令列控制檯中輸入 “ adb devices ”,我們就可以看見如圖連線成功:
4、修改程式碼,將一些模擬器的資訊修給了即可
5、未執行程式碼前的 Google 自帶的 AVD 模擬器
6、執行程式碼後的執行結果
(1)AVD 模擬器:
稍等一會,淘寶 APP 自動啟動了:
同意協議,淘寶 APP 就可以在 AVD 模擬器上,啟動起來進入主頁
(2)程式碼執行結果:
(3)appium 執行結果:
(7)參考程式碼:
1 # coding=utf-8
2 # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行
3
4 # 2.註釋:包括記錄建立時間,建立人,專案名稱。
5 '''
6 Created on 2025-1-6
7 @author: 北京-宏哥 QQ交流群:707699217
8 Project:學習和使用python程式碼appium+pycharm+連線夜神模擬器
9 '''
10 # 3.匯入模組
11 from appium import webdriver
12 import time
13 desired_caps = {}
14 desired_caps['platformName'] = 'Android' #android的apk還是IOS的ipa
15 desired_caps['platformVersion'] = '8.0' #android系統的版本號
16 desired_caps['deviceName'] = 'emulator-5554' #手機裝置名稱,透過adb devices 檢視
17 desired_caps['appPackage'] = 'com.taobao.taobao' #apk的包名
18 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome' #apk的launcherActivity
19 # desired_caps['unicodeKeyboard'] = True #使用unicodeKeyboard的編碼方式來傳送字串
20 # desired_caps['resetKeyboard'] = True #將鍵盤給隱藏起來
21 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #啟動伺服器地址,後面跟的是手機資訊
好了,到此夜神模擬器和 AVD 模擬器啟動淘寶 APP,已經全部演示完成,大功告成,降龍十八掌已全部打完,打完收回來。額。。。。。還差一掌才十七掌(亢龍有悔)
4.小結(亢龍有悔)
亢龍有悔,將前邊十七掌合起來總結一下:
1、介紹一下, 標記的資訊,如何填寫和查詢 !
deviceName: 這個是裝置名稱,可以選擇模擬器設定的屬性中的 IMEI 填入,或者手機名稱
udid: 這裡填寫上邊讓你記住的東西,如果使用其他模擬器或者真機等連線,同樣的位置,記下就行
appPackage 和 appActivity,教大家一個相對簡單的方法來獲取,當然也可以採取反編譯(app 壓縮成 rar 或者 zip,然後開啟看 xml 檔案)的手段,總之,方法很多!
進入 sdk\build-tools\版本號 的目錄下(配置系統變數後就尅不用進入了),cmd 命令:
aapt dump badging C:\apps\xxxxx.apk (路徑\app 包名,也就是安裝包在你電腦的位置)
看下,上邊標記的就是我們要的兩個值!
至於下邊的URL是固定格式,不要研究為什麼(千年的王八的蛋,萬年龜的屁股——喝一口水淡(蛋)定一下,這是規定(龜腚))!
開始執行報錯了,最後透過上邊的方法檢視是因為 appActivity 錯誤了,修改版本號和 appActivity 後還是繼續報錯,說:安裝包不存在,然後在 appium 中配置
配置好以後,按上邊的步驟執行程式碼,可以看到 appium 日誌沒有報錯、執行程式碼沒有報錯、成功的將淘寶的安裝包安裝在夜神模擬器上了
2、遇到的坑 1:在 CMD 指令中輸入 appium,提示如下圖所示
解決方式:降低 nodejs 的版本,參考連結cmd 中提示 appium 錯誤
3、遇到的坑 2:執行 appium 提示 error: Couldn't start Appium REST http interface listener. Requested port is already in use. Please make sure there's no other instance of Appium running already.
解決方式:因為埠被 node 佔用,可以用如下退出 node,找出 PID 命令::netstat -ano|findstr "7922" (這個 4723 是被佔用的埠,我們需要先找該佔用該埠程式的 PID)。停止 PID 命令:taskkill /pid[程序碼] -t(結束該程序) -f(強制結束該程序以及所有子程序)。
不知道埠占用的小夥伴們可以看宏哥的這篇檢視埠占用的博文:傳送門
4、宏哥可能會問為什麼推薦夜神模擬器而不推薦 AVD 模擬器了,是不是宏哥被夜神收買了,實際不是這樣的,因為國內現狀就是絕大多數給 QA 人員配置的電腦不是很高,而那個 AVD 有需要高配置,否則卡的一比,所以就給小夥伴們推薦夜神了,而不是 Google 自帶的模擬器。當然瞭如果你的電腦配置高那就按照你的喜好和口味選擇適合自己的才是硬道理。
5、好了,就給小夥伴們介紹這兩種就夠用了,如用其他的可以參考這一篇文章。都是萬變不離其宗。
相關文章
- 🔥Appium+python 自動化(五)- 模擬器(超詳解)APPPython
- 🔥Appium+python 自動化(三)- SDK Manager(超詳解)APPPython
- 🔥Appium+python 自動化(二)- 環境搭建—下(超詳解)APPPython
- 🔥Appium+python 自動化(四)- 如何檢視程式所佔埠號和 IP(超詳解)(番外篇)APPPython
- Appium+python自動化(一)- 環境搭建—上(超詳解)APPPython
- Appium+python自動化(十二)- Android UIAutomator終極定位凶器(超詳解)APPPythonAndroidUI
- Appium+python自動化(十三)- 與Capability完美懈垢之解讀(超詳解)APPPython
- Appium+python自動化(十三)- 輸入中文 - 一次填坑記(超詳解)APPPython
- Appium+python自動化(十五)- Android 這些基礎知識,你知多少???(超詳解)APPPythonAndroid
- VMware在windows自啟動,並開啟虛擬機器Windows虛擬機
- Appium+python自動化(四)- 如何檢視程式所佔埠號和IP(超詳解)(番外篇)APPPython
- Appium(Python)驅動手機淘寶AppAPPPython
- Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)FlutterAndroidiOS
- Flutter淘寶App新增啟動圖最簡單實現方法FlutterAPP
- 命令啟動android studio 模擬器Android
- Nginx設定成服務並開機自動啟動的配置詳解Nginx
- 淘寶直播自動回覆評論 - 瀏覽器外掛瀏覽器
- CentOS自動開啟網路連線CentOS
- SecureCRT 超時自動斷開連線問題解決方法Securecrt
- CentOS 7 SSH 連線超時自動斷開解決方案CentOS
- python介面自動化(四十)- logger 日誌 - 下(超詳解)Python
- Ansible自動化配置詳解
- 搭建appium+python自動化測試環境APPPython
- Web自動化之瀏覽器啟動Web瀏覽器
- xcode simulator模擬器啟動報unable to bootXCodeboot
- python介面自動化(三十九)- logger 日誌 - 上(超詳解)Python
- 雲端自動化虛擬機器虛擬機
- 自動採集器分類批次解析淘寶評論圖片
- 解決android studio 模擬器取法啟動聲音的錯誤Android
- 微信開啟淘寶連結,公眾號選單欄放淘寶連結
- Oracle 自動化運維-Python連線OracleOracle運維Python
- 【python介面自動化】- PyMySQL資料連線PythonMySql
- Appium+python自動化(二十二)- 三個臭皮匠頂個諸葛亮-控制元件座標獲取(超詳解)APPPython控制元件
- 推薦一款模擬瀏覽器自動化操作神器!Mechanize瀏覽器
- charles手機模擬器的連線
- 自動化整合:Kubernetes容器引擎詳解
- App啟動速度優化APP優化
- Python自動化神器:如何用PyAutoGUI模擬滾輪動一次PythonGUI