濮阳杆衣贸易有限公司

主頁 > 知識庫 > Python+Appium新手教程

Python+Appium新手教程

熱門標(biāo)簽:電話外呼系統(tǒng)招商代理 看懂地圖標(biāo)注方法 蘇州人工外呼系統(tǒng)軟件 電話機(jī)器人貸款詐騙 打印谷歌地圖標(biāo)注 淮安呼叫中心外呼系統(tǒng)如何 佛山通用400電話申請 廣東旅游地圖標(biāo)注 京華圖書館地圖標(biāo)注

準(zhǔn)備

1.電腦系統(tǒng):win10

2.手機(jī):安卓(沒錢買蘋果)

3.需要的工具可以從官網(wǎng)下載

  • https://appium.io/
  • https://www.jetbrains.com/pycharm/
  • https://www.python.org/
  • https://www.oracle.com/cn/java/technologies/javase-downloads.html

安裝

  1. python
  2. jdk
  3. 編輯器PyCharm
  4. Appium-windows-x.x
  5. Appium_Python_Client
  6. Android SDK

安裝,邁開腿的第一步

python(它可以用于桌面應(yīng)用,游戲開發(fā),網(wǎng)絡(luò)爬蟲)

勾選Add Python x.x to PATH(沒有勾選的安裝成功后可手動在環(huán)境變量里配置)

Install Now

安裝中…

安裝成功

驗(yàn)證是否成功,終端輸入‘python',出現(xiàn)以下內(nèi)容就成功了

暫時沒遇到紅海,有問題評論留言~

jdk

Java 語言的軟件開發(fā)工具包

appium server好像只支持1.8的jdk,so有時候太優(yōu)秀不一定能被認(rèn)可(狗頭保命)

安裝成功,需要在環(huán)境變量里配置一下

新建一個'JAVA_HOME'

把‘JAVA_HOME'添加到path里,注意是添加不是替換,后果不堪設(shè)想

確定確定確定,打開cmd運(yùn)行測試一下是否安裝成功,輸入‘java -version',成功

編輯器PyCharm

敲代碼的

勾選64-bit launcher 64位啟動器

.py那個隨意,我這邊勾選

成功

安裝過程暫時沒發(fā)現(xiàn)什么錯誤

Appium-windows-x.x

運(yùn)行腳本需要,可查看運(yùn)行日志,可以獲取app頁面元素

第一次運(yùn)行可能有點(diǎn)慢,耐心等待就好了

右上角的三個按鈕分別是

  • “start inspector session(啟動檢查器會話)”
  • “Get Raw log(查看日志)"
  • “Stop Server(停止服務(wù))”

通俗一點(diǎn) “沖啊” “讓我看看” “不想搞了”

下面一塊是看日志的

最喜歡的來了,菜單欄有個View—語言—中文(我的寶貝啊)

Appium_Python_Client

調(diào)用客戶端庫和 Appium Server 進(jìn)行通信

    pip install Appium-Python-Client

或者去Pypi下載

下載后解壓使用cmd進(jìn)入Appium-Python-Client-x.x

輸入

python setup.py install

運(yùn)行 setup.py文件就好了

Android SDK

手機(jī)baiandroid系統(tǒng)的開發(fā)發(fā)包,用來執(zhí)行命令設(shè)置手機(jī)、傳送文件、安裝應(yīng)用、查看手機(jī)界面等

找個風(fēng)水寶地解壓就好了

所有需要的工具都安裝成功了,來個表情包慶祝一下

連接手機(jī)

敲黑板,重點(diǎn)來了,做app自動化肯定要用到手機(jī)噻,拿usb連接電腦

(1) 拿出你的手機(jī)-----打開手機(jī)設(shè)置------找到關(guān)于手機(jī)-------一直點(diǎn)擊版本號直到出現(xiàn)提示

(2) 打開手機(jī)的開發(fā)者選項,該開的開,該關(guān)的關(guān),特別是USB調(diào)試這里一定要打開

還有USB設(shè)置需要改一下,暫時只發(fā)現(xiàn)這兩個比較重要,有興趣的可以研究一下開發(fā)人員選項

(3) 測試是否連接成功,在終端輸入‘a(chǎn)db devices -l',查看連接的設(shè)備,如果列表為空,檢查一下是不是有以上原因。

使用python+appium打開手機(jī)app-B站

打開PyCharm and appium,直接Start Server Vx,xx,x

新建一個項目

新建一個.py,輸入以下代碼(單純打開app)

# 導(dǎo)入webdriver
from appium import webdriver
# 初始化參數(shù)
desired_caps = {
    'platformName': 'Android',  # 被測手機(jī)是安卓
    'platformVersion': '10',  # 手機(jī)安卓版本
    'deviceName': 'xxx',  # 設(shè)備名,安卓手機(jī)可以隨意填寫
    'appPackage': 'tv.danmaku.bili',  # 啟動APP Package名稱
    'appActivity': '.ui.splash.SplashActivity',  # 啟動Activity名稱
    'unicodeKeyboard': True,  # 使用自帶輸入法,輸入中文時填True
    'resetKeyboard': True,  # 執(zhí)行完程序恢復(fù)原來輸入法
    'noReset': True,  # 不要重置App,如果為False的話,執(zhí)行完腳本后,app的數(shù)據(jù)會清空,比如你原本登錄了,執(zhí)行完腳本后就退出登錄了
    'newCommandTimeout': 6000,
    'automationName': 'UiAutomator2'
}
# 連接Appium Server,初始化自動化環(huán)境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 退出程序,記得之前沒敲這段報了一個錯誤 Error: socket hang up 啥啥啥的忘記了,有興趣可以try one try
driver.quit()

不同的手機(jī)有不同的版本,自己找一下大概就是這個意思

手機(jī)安卓版本platformVersion:

每一個app都有appPackage、appActivity,那應(yīng)該在哪里查看呢

打開終端輸入(手機(jī)需要連接電腦)

adb shell dumpsys activity recents | find “intent={”

cmp=tv.danmaku.bili/.ui.splash.SplashActivity就是我們需要的appPackage、appActivity了

appPackage = tv.danmaku.bili

appActivity = .ui.splash.SplashActivity

此時我的手機(jī)后臺是個這樣的

打開成功,運(yùn)行的時候會在手機(jī)上安裝東西,需要手動同意安裝,或者在開發(fā)選項中開權(quán)限,聽懂鞭炮

獲取app元素信息

得到元素才能操控它

兩種方法

(1)使用appium

(2)使用uiautomatorviewer(Android SDK自帶的元素定位工具)

這兩個不可以同時使用,以我現(xiàn)在的技術(shù)來看我個人推薦使用appium

-----------------------------這是一條分割線------------------------------------

appium:打開appium,點(diǎn)擊Start Inspector Session

輸入對應(yīng)的內(nèi)容(之前那段代碼把參數(shù)和值填進(jìn)去就好了)

打開后我們可以看見這樣一個界面,鼠標(biāo)懸浮在手機(jī)界面上可以看到元素,點(diǎn)擊可在右側(cè)查看到需要的元素

uiautomatorviewer(Android SDK自帶的元素定位工具)

之前下載過的Android SDK,打開路徑:androidsdk\tools\bin就可以找到uiautomatorviewer了,double click打開它

會得到這樣的一個界面

在點(diǎn)擊左上角的device Screenshot(uiautomator dump)獲取手機(jī)上的屏幕,如果是不同的頁面需要重新點(diǎn)擊

鼠標(biāo)懸浮點(diǎn)擊可以看到這個元素的信息

有一些人點(diǎn)擊uiautomatorviewer.bat會閃退,試試下面這個辦法,如果不行百度去吧

開玩笑的啦,我也是百度找方法的,找了好久沒啥子用,還是評論區(qū)留言一起解決吧(一起百度)

打開環(huán)境變量,新建一個 ANDROID_SWT

我的swt是在D:\app\androidsdk\tools\lib\x86_64,輸入正確路徑即可

確定確定確定,在重新試試double click它

知道元素后就可以操作它了

使用python+appium操作app-B站

目標(biāo):使用B站搜索‘泰坦尼克號'

常用的獲取元素方法有

find_element_by_id()

find_elements_by_class_name()

find_element_by_xpath()

find_element_by_css_selector()

# 導(dǎo)入webdriver
from appium import webdriver
# 初始化參數(shù)
desired_caps = {
    'platformName': 'Android',  # 被測手機(jī)是安卓
    'platformVersion': '10',  # 手機(jī)安卓版本
    'deviceName': 'xxx',  # 設(shè)備名,安卓手機(jī)可以隨意填寫
    'appPackage': 'tv.danmaku.bili',  # 啟動APP Package名稱
    'appActivity': '.ui.splash.SplashActivity',  # 啟動Activity名稱
    'unicodeKeyboard': True,  # 使用自帶輸入法,輸入中文時填True
    'resetKeyboard': True,  # 執(zhí)行完程序恢復(fù)原來輸入法
    'noReset': True,  # 不要重置App,如果為False的話,執(zhí)行完腳本后,app的數(shù)據(jù)會清空,比如你原本登錄了,執(zhí)行完腳本后就退出登錄了
    'newCommandTimeout': 6000,
    'automationName': 'UiAutomator2'
}
# 連接Appium Server,初始化自動化環(huán)境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 設(shè)置等待時間,如果不給時間的話可能會找不到元素
driver.implicitly_wait(5)
# 點(diǎn)擊搜索框
driver.find_element_by_id("expand_search").click()
# 輸入“泰坦尼克號”
driver.find_element_by_id("search_src_text").send_keys("泰坦尼克號")
# 鍵盤回車
driver.keyevent(66)
# 因?yàn)樗阉魍旰缶椭苯油顺鯽pp了,看不到搜索結(jié)果頁,所以我給了一個讓他停下的方法
input('**********')
# 退出程序,記得之前沒敲這段報了一個錯誤 Error: socket hang up 啥啥啥的忘記了,有興趣可以try one try
driver.quit()

最后就是這樣子的

到此這篇Python+Appium新手教程的文章就介紹到這了,更多相關(guān)Python+Appium教程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python使用Appium在移動端抓取微博數(shù)據(jù)的實(shí)現(xiàn)
  • Python3+Appium安裝及Appium模擬微信登錄方法詳解
  • 詳解使用python爬取抖音app視頻(appium可以操控手機(jī))
  • Python實(shí)現(xiàn)Appium端口檢測與釋放的實(shí)現(xiàn)
  • Python3+Appium安裝使用教程
  • python爬蟲之Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶手勢

標(biāo)簽:江蘇 呼和浩特 中山 駐馬店 股票 湖州 衡水 畢節(jié)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python+Appium新手教程》,本文關(guān)鍵詞  Python+Appium,新手,教程,Python+Appium,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python+Appium新手教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python+Appium新手教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临澧县| 屯昌县| 贵溪市| 谢通门县| 肃南| 安远县| 溧阳市| 甘德县| 梧州市| 宁德市| 大洼县| 镇康县| 柘荣县| 峨眉山市| 桂林市| 静宁县| 双辽市| 红安县| 安康市| 如皋市| 昆明市| 平泉县| 随州市| 垦利县| 金沙县| 四会市| 肇庆市| 龙门县| 沾化县| 历史| 湄潭县| 雅安市| 杭州市| 陵水| 上蔡县| 喀喇| 海门市| 新干县| 资源县| 弥勒县| 若尔盖县|