Appium+python自動化之連接模擬器并啟動淘寶APP(超詳解)
簡介
這篇宏哥就帶著小伙伴們分享一下如何連接模擬器(電腦版的虛擬手機),然后再安裝一款APP-淘寶為例。
一、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代碼,并查看結(jié)果,如下圖所示(暫時不理會出錯問題,后續(xù)會講解)但是在模擬器看到新增了兩個小機器人,就表示已經(jīng)成功了:
6、參考代碼
# coding=utf-8 # 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行 # 2.注釋:包括記錄創(chuàng)建時間,創(chuàng)建人,項目名稱。 ''' Created on 2019-6-17 @author: 北京-宏哥 QQ交流群:707699217 Project:學習和使用python代碼appium+pycharm+連接夜神模擬器 ''' # 3.導入模塊 from appium import webdriver import time desired_caps = {} desired_caps['platformName'] = 'Android' #android的apk還是IOS的ipa desired_caps['platformVersion'] = '4.4.2' #android系統(tǒng)的版本號 desired_caps['deviceName'] = '127.0.0.1:62001' #手機設備名稱,通過adb devices 查看 desired_caps['appPackage'] = 'com.taobao.taobao' #apk的包名 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome' #apk的launcherActivity # desired_caps['unicodeKeyboard'] = True # 使用unicodeKeyboard的編碼方式來發(fā)送字符串 # desired_caps['resetKeyboard'] = True # # 將鍵盤給隱藏起來 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) ##啟動服務器地址,后面跟的是手機信息
二、appium+pycharm+連接AVD模擬器(不推薦)
1、第一、二步和連接夜神模擬器一樣。
2、啟動AVD模擬器(這個上一篇(傳送門)都給小伙伴們演示過了,不清楚的返回頭復習一下,即可。相當簡單的)
3、 我們在進行測試的時候,我們肯定需要查看設備連接是否成功,設備的信息是否能夠獲取。adb devices 就可以實現(xiàn),直接在命令行控制臺中輸入“ adb devices ”,我們就可以看見如圖連接成功:
4、修改代碼,將一些模擬器的信息修給了即可
5、未運行代碼前的Google自帶的AVD模擬器
6、運行代碼后的運行結(jié)果
(1)AVD模擬器:
稍等一會,淘寶APP自動啟動了:
同意協(xié)議,淘寶APP就可以在AVD模擬器上,啟動起來進入主頁
(2)代碼運行結(jié)果:
(3)appium運行結(jié)果:
(7)參考代碼:
# coding=utf-8 # 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行 # 2.注釋:包括記錄創(chuàng)建時間,創(chuàng)建人,項目名稱。 ''' Created on 2019-6-17 @author: 北京-宏哥 QQ交流群:707699217 Project:學習和使用python代碼appium+pycharm+連接夜神模擬器 ''' # 3.導入模塊 from appium import webdriver import time desired_caps = {} desired_caps['platformName'] = 'Android' #android的apk還是IOS的ipa desired_caps['platformVersion'] = '8.0' #android系統(tǒng)的版本號 desired_caps['deviceName'] = 'emulator-5554' #手機設備名稱,通過adb devices 查看 desired_caps['appPackage'] = 'com.taobao.taobao' #apk的包名 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome' #apk的launcherActivity # desired_caps['unicodeKeyboard'] = True #使用unicodeKeyboard的編碼方式來發(fā)送字符串 # desired_caps['resetKeyboard'] = True #將鍵盤給隱藏起來 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #啟動服務器地址,后面跟的是手機信息
好了,到此夜神模擬器和AVD模擬器啟動淘寶APP,已經(jīng)全部演示完成,大功告成,降龍十八掌已全部打完,打完收回來。額。。。。。還差一掌才十七掌(亢龍有悔)
三、小結(jié)(亢龍有悔)
亢龍有悔,將前邊十七掌合起來總結(jié)一下:
1、介紹一下, 標記的信息,如何填寫和查找 !
deviceName:這個是設備名稱,可以選擇模擬器設置的屬性中的IMEI填入,或者手機名稱
udid:這里填寫上邊讓你記住的東西,如果使用其他模擬器或者真機等連接,同樣的位置,記下就行
appPackage和appActivity,教大家一個相對簡單的方法來獲取,當然也可以采取反編譯(app壓縮成rar或者zip,然后打開看xml文件)的手段,總之,方法很多!
進入sdk\build-tools\版本號 的目錄下(配置系統(tǒng)變量后就尅不用進入了),cmd命令:
aapt dump badging C:\apps\xxxxx.apk (路徑\app包名,也就是安裝包在你電腦的位置)
看下,上邊標記的就是我們要的兩個值!
至于下邊的 URL 是固定格式,不要研究為什么(千年的王八的蛋,萬年龜?shù)钠ü伞纫豢谒ǖ埃┒ㄒ幌?,這是規(guī)定(龜腚))!
開始運行報錯了,最后通過上邊的方法查看是因為appActivity錯誤了,修改版本號和appActivity后還是繼續(xù)報錯,說:安裝包不存在,然后在appium中配置
配置好以后,按上邊的步驟運行代碼,可以看到appium日志沒有報錯、運行代碼沒有報錯、成功的將淘寶的安裝包安裝在夜神模擬器上了
2、遇到的坑1:在CMD指令中輸入appium,提示如下圖所示
解決方式:降低nodejs的版本,參考鏈接:http://chabaoo.cn/article/163240.htm
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(結(jié)束該進程) -f(強制結(jié)束該進程以及所有子進程)。
不知道端口占用的小伙伴們可以看宏哥的這篇查看端口占用的博文:傳送門
總結(jié)
以上所述是小編給大家介紹的Appium+python自動化之連接模擬器并啟動淘寶APP(超詳解),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關文章
Python實現(xiàn)按照指定要求逆序輸出一個數(shù)字的方法
這篇文章主要介紹了Python實現(xiàn)按照指定要求逆序輸出一個數(shù)字的方法,涉及Python針對字符串的遍歷、判斷、輸出等相關操作技巧,需要的朋友可以參考下2018-04-04python scipy.spatial.distance 距離計算函數(shù) ?
本文主要介紹了python scipy.spatial.distance 距離計算函數(shù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Python Pandas 對列/行進行選擇,增加,刪除操作
這篇文章主要介紹了Python Pandas 對列/行進行選擇,增加,刪除操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05python編碼格式導致csv讀取錯誤問題(csv.reader, pandas.csv_read)
python編碼格式導致csv讀取錯誤問題(csv.reader, pandas.csv_read),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解
最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成,下面這篇文章主要給大家介紹了關于Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作的相關資料,需要的朋友可以參考下2022-04-04pycharm2023.1配置python解釋器時找不到conda環(huán)境解決辦法
如果你已經(jīng)安裝了Anaconda或Miniconda,但是在PyCharm中找不到conda解釋器,可以試試本文介紹的方法,這篇文章主要給大家介紹了關于pycharm2023.1配置python解釋器時找不到conda環(huán)境的解決辦法,需要的朋友可以參考下2023-12-12使用Python實現(xiàn)從零開始打造一個三維繪圖系統(tǒng)
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)一個繪圖系統(tǒng),通過指定x,y,z的表達式,以實現(xiàn)三維繪圖的目的,感興趣的可以了解下2024-02-02pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù)
這篇文章主要介紹了pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù),問綻放圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下2022-05-05卷積神經(jīng)網(wǎng)絡的發(fā)展及各模型的優(yōu)缺點及說明
這篇文章主要介紹了卷積神經(jīng)網(wǎng)絡的發(fā)展及各模型的優(yōu)缺點及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02