中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python中使用Appium

發布時間:2021-04-17 15:38:24 來源:億速云 閱讀:358 作者:Leah 欄目:開發技術

怎么在Python中使用Appium?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

python

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

Install Now

怎么在Python中使用Appium

安裝中…

怎么在Python中使用Appium

安裝成功

怎么在Python中使用Appium

驗證是否成功,終端輸入‘python',出現以下內容就成功了

怎么在Python中使用Appium

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

jdk

Java 語言的軟件開發工具包

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

怎么在Python中使用Appium

怎么在Python中使用Appium

怎么在Python中使用Appium

怎么在Python中使用Appium

安裝成功,需要在環境變量里配置一下

怎么在Python中使用Appium

新建一個'JAVA_HOME'

怎么在Python中使用Appium

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

怎么在Python中使用Appium

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

怎么在Python中使用Appium

編輯器PyCharm

敲代碼的

怎么在Python中使用Appium

怎么在Python中使用Appium

勾選64-bit launcher 64位啟動器

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

怎么在Python中使用Appium

怎么在Python中使用Appium

成功

怎么在Python中使用Appium

安裝過程暫時沒發現什么錯誤

Appium-windows-x.x

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

怎么在Python中使用Appium

怎么在Python中使用Appium

第一次運行可能有點慢,耐心等待就好了

怎么在Python中使用Appium

怎么在Python中使用Appium

右上角的三個按鈕分別是

  • “start inspector session(啟動檢查器會話)”

  • “Get Raw log(查看日志)"

  • “Stop Server(停止服務)”

通俗一點 “沖啊” “讓我看看” “不想搞了”

下面一塊是看日志的

怎么在Python中使用Appium

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

怎么在Python中使用Appium

Appium_Python_Client

調用客戶端庫和 Appium Server 進行通信

pip install Appium-Python-Client

或者去Pypi下載

怎么在Python中使用Appium

下載后解壓使用cmd進入Appium-Python-Client-x.x

輸入

python setup.py install

運行 setup.py文件就好了

怎么在Python中使用Appium

Android SDK

手機baiandroid系統的開發發包,用來執行命令設置手機、傳送文件、安裝應用、查看手機界面等

找個風水寶地解壓就好了

怎么在Python中使用Appium

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

連接手機

敲黑板,重點來了,做app自動化肯定要用到手機噻,拿usb連接電腦

(1) 拿出你的手機-----打開手機設置------找到關于手機-------一直點擊版本號直到出現提示

怎么在Python中使用Appium

(2) 打開手機的開發者選項,該開的開,該關的關,特別是USB調試這里一定要打開

怎么在Python中使用Appium

還有USB設置需要改一下,暫時只發現這兩個比較重要,有興趣的可以研究一下開發人員選項

怎么在Python中使用Appium

(3) 測試是否連接成功,在終端輸入‘adb devices -l',查看連接的設備,如果列表為空,檢查一下是不是有以上原因(1)(2),有什么問題評論區留言

怎么在Python中使用Appium

使用python+appium打開手機app-B站

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

新建一個項目

怎么在Python中使用Appium

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

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

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

手機安卓版本platformVersion:

怎么在Python中使用Appium

每一個app都有appPackage、appActivity,那應該在哪里查看呢

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

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

怎么在Python中使用Appium

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

appPackage = tv.danmaku.bili

appActivity = .ui.splash.SplashActivity

此時我的手機后臺是個這樣的

怎么在Python中使用Appium

打開成功,運行的時候會在手機上安裝東西,需要手動同意安裝,或者在開發選項中開權限,聽懂鞭炮

獲取app元素信息

得到元素才能操控它

兩種方法

(1)使用appium

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

這兩個不可以同時使用,以我現在的技術來看我個人推薦使用appium

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

appium:打開appium,點擊Start Inspector Session

怎么在Python中使用Appium

輸入對應的內容(之前那段代碼把參數和值填進去就好了)

怎么在Python中使用Appium

打開后我們可以看見這樣一個界面,鼠標懸浮在手機界面上可以看到元素,點擊可在右側查看到需要的元素

怎么在Python中使用Appium

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

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

怎么在Python中使用Appium

會得到這樣的一個界面

怎么在Python中使用Appium

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

怎么在Python中使用Appium

鼠標懸浮點擊可以看到這個元素的信息

怎么在Python中使用Appium

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

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

打開環境變量,新建一個 ANDROID_SWT

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

怎么在Python中使用Appium

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

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

使用python+appium操作app-B站

目標:使用B站搜索‘泰坦尼克號'

常用的獲取元素方法有

find_element_by_id()

find_elements_by_class_name()

find_element_by_xpath()

find_element_by_css_selector()

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

關于怎么在Python中使用Appium問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌邑市| 鸡西市| 乳源| 中牟县| 思南县| 盐津县| 安平县| 呼图壁县| 丰镇市| 历史| 正宁县| 宁远县| 灵川县| 福清市| 顺平县| 定边县| 石城县| 松阳县| 呼伦贝尔市| 玉门市| 潍坊市| 理塘县| 丹东市| 东海县| 怀集县| 射洪县| 屏东市| 兴城市| 宁都县| 广德县| 泰和县| 云和县| 万荣县| 杭锦后旗| 黑山县| 福安市| 淅川县| 山东省| 昌乐县| 安丘市| 屏南县|