欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3+Appium安裝使用教程

 更新時間:2019年07月05日 15:07:52   作者:努力改個網(wǎng)名  
這篇文章主要介紹了Python3+Appium安裝使用教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、安裝

我們知道selenium是桌面瀏覽器自動化操作工具(Web Browser Automation)

appium是繼承selenium自動化思想旨在使手機app操作也能自動化的工具(Mobile App Automation Made Awesome)。

appium可以通過Desktop App和npm兩種方式安裝。Desktop App類似于selenium IDE提供一個圖形界面式操作工具;npm類似于selenium就只能使用命令行。

如果對appium還不太熟悉,推薦使用Desktop App安裝,這樣一些操作我們可以使用Desktop App來輸出代碼,寫代碼時就有個參考。

1.1 安裝Android SDK

要想操作安卓手機需要Android SDK,所以在安裝appium之前先安裝Android SDK。

推薦直接安裝Android Studio然后使用Android Studio安裝SDK(太慢可通過圖中HTTP Proxy設(shè)置代理)。

菜單----Tools----SDK Manager,鉤選自己要安裝的版本點擊Apply進行下載即可。

Android SDK安裝完成后,新建ANDROID_HOME環(huán)境變量,值為上圖Android SDK Location的目錄(我這里是“D:\Language\ASDK”)

1.2 通過Desktop App安裝(推薦)

下載地址:https://github.com/appium/appium-desktop/releases

選擇操作系統(tǒng)對應(yīng)版本下載,Windows直接雙擊安裝即可。

1.3 通過npm安裝

1.3.1 安裝nodejs

appium本質(zhì)是一個nodejs庫所以要先安裝nodejs,然后使用npm安裝。

nodejs下載地址:https://nodejs.org/zh-cn/download/

下載zip包解壓到自己想放的目錄,然后把該目錄加入Path環(huán)境變量即可。

1.3.2 安裝appium

npm install -g appium

安裝appium的過程中安裝chromedriver時會連接google網(wǎng)站上去(報錯RequestError: Error: connect ETIMEDOUT 216.58.220.208:443),所以可能你需要參考以下命令設(shè)置一下npm代理

# 設(shè)置代理
npm config set proxy http://127.0.0.1:1080
npm config set https-proxy http://127.0.0.1:1080

# 如果代理需要用戶名密碼
npm config set proxy http://username:password@127.0.0.1:1080
npm config set https-proxy http://username:password@127.0.0.1:1080

# 注冊npm倉庫
npm config set registry https://registry.npmjs.org

# 刪除代理配置
npm config delete proxy
npm config delete https-proxy

1.3.3 使用appinum-doctor確認(rèn)環(huán)境配置無誤

npm install -g appium-doctor
appium-doctor --android

二、手機連接appium

2.1 啟動appium服務(wù)

如果是通過npm安裝,appium會被安裝到nodejs目錄下,直接使用appium命令啟動即可

我這里使用Desktop App方式安裝,安裝完成后雙擊桌面上的圖標(biāo)界面如下:

我們使用默認(rèn)配置都不修改,直接點擊“Start Server”按鈕啟動

2.2 手機使用數(shù)據(jù)線連接電腦

使用數(shù)據(jù)線把手機連接到開啟appium的電腦,開啟usb調(diào)試功能??墒褂胊db命令列出設(shè)備確保連接成功

adb devices -l

三、 使用示例

下邊以python3+appium打開微信并登錄進行演示。python操作appium是通過向appnium的監(jiān)聽端口發(fā)報文實現(xiàn)的,所以python不用安裝什么appium庫。

3.1 Desktop App打開微信并登錄

添加以下四項值,完后點擊“Start Session”。

platformName---設(shè)備平臺。填A(yù)ndroid或IOS

deviceName----設(shè)備名。按上邊adb查出的設(shè)備名填寫即可

appPackage----要啟動的app的包名。微信是"com.tencent.mm"

appActivity----要啟動的界面。微信啟動界面是".ui.LauncherUI"

{
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

選擇xml控件,對應(yīng)部份就會高亮顯示。

點擊開始錄制,然后在該appium界面上操作(注意不是自己直接在手機上操作),操作過程就會被記錄下來然后可輸出該過程對應(yīng)的python代碼

操作過程就會被記錄下來,在Recorder下拉選擇語言即可輸出操作對應(yīng)的代碼

3.2 全代碼自動化登錄實現(xiàn)

Desktop App已給出界面內(nèi)操作的代碼,全代碼自動化主要的其實只是打開該界面的代碼。

首先我們先安裝兩個依賴庫

pip install Appium-Python-Client Selenium

代碼補全如下,Appium-Python-Client繼承自Selenium所以使用方法和selenium是很類似的,更多api操作見:https://github.com/appium/python-client

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# appium服務(wù)監(jiān)聽地址
server='http://localhost:4723/wd/hub'
# app啟動參數(shù)
desired_caps={
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

# 驅(qū)動
driver = webdriver.Remote(server,desired_caps)
wait = WebDriverWait(driver,30)
# 獲取登錄按鈕
login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/drp")))
# 點擊登錄按鈕
login_btn.click()
# 獲取手機號文本框
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji")))
# 填寫手機號文本框
phone_text.send_keys("18888888888")

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 操作sqlite數(shù)據(jù)庫的方法

    python 操作sqlite數(shù)據(jù)庫的方法

    sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個SQL數(shù)據(jù)庫引擎,是由C語言實現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫,在移動設(shè)備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫
    2021-06-06
  • Window環(huán)境下Scrapy開發(fā)環(huán)境搭建

    Window環(huán)境下Scrapy開發(fā)環(huán)境搭建

    這篇文章主要介紹了Window環(huán)境下Scrapy開發(fā)環(huán)境搭建,需要的朋友可以參考下
    2018-11-11
  • Python采集C站熱榜數(shù)據(jù)實戰(zhàn)示例

    Python采集C站熱榜數(shù)據(jù)實戰(zhàn)示例

    這篇文章主要為大家介紹了Python采集C站熱榜數(shù)據(jù)實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • CentOS6.5設(shè)置Django開發(fā)環(huán)境

    CentOS6.5設(shè)置Django開發(fā)環(huán)境

    這篇文章主要為大家詳細(xì)介紹了CentOS6.5設(shè)置Django開發(fā)環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 解決使用Spyder IDE時matplotlib繪圖的顯示問題

    解決使用Spyder IDE時matplotlib繪圖的顯示問題

    這篇文章主要介紹了解決使用Spyder IDE時matplotlib繪圖的顯示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 分享一個pycharm專業(yè)版安裝的永久使用方法

    分享一個pycharm專業(yè)版安裝的永久使用方法

    這篇文章主要介紹了分享一個pycharm專業(yè)版安裝的永久使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • pytorch中可視化之hook鉤子

    pytorch中可視化之hook鉤子

    本文主要介紹了pytorch中可視化之hook鉤子,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 使用PyTorch實現(xiàn)限制GPU顯存的可使用上限

    使用PyTorch實現(xiàn)限制GPU顯存的可使用上限

    從?PyTorch?1.4?版本開始,引入了一個新的功能,可以允許用戶為特定的?GPU?設(shè)備設(shè)置進程可使用的顯存上限比例,下面我們就來看看具體實現(xiàn)方法吧
    2024-03-03
  • Python實現(xiàn)修改圖片分辨率(附代碼)

    Python實現(xiàn)修改圖片分辨率(附代碼)

    這篇文章主要介紹了Python通過ffmpeg實現(xiàn)修改圖片分辨率,文中的代碼介紹詳細(xì),對我們的工作或?qū)W習(xí)有一定的價值,感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • Django如何實現(xiàn)防止XSS攻擊

    Django如何實現(xiàn)防止XSS攻擊

    這篇文章主要介紹了Django如何實現(xiàn)防止XSS攻擊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10

最新評論