最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3+Appium安裝及Appium模擬微信登錄方法詳解

 更新時(shí)間:2021年02月16日 16:35:40   作者:諸子流  
這篇文章主要介紹了Python3+Appium安裝及使用方法詳解,需要的朋友可以參考下

一、Appium安裝

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

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

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

如果對(duì)appium還不太熟悉,推薦使用Desktop App安裝,這樣一些操作我們可以使用Desktop App來(lái)輸出代碼,寫代碼時(shí)就有個(gè)參考。

1.1 安裝Android SDK

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

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

菜單----Tools----SDK Manager,鉤選自己要安裝的版本點(diǎn)擊Apply進(jìn)行下載即可。

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

1.2 通過(guò)Desktop App安裝(推薦)

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

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

1.3 通過(guò)npm安裝

1.3.1 安裝nodejs

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

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

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

1.3.2 安裝appium

npm install -g appium

 安裝appium的過(guò)程中安裝chromedriver時(shí)會(huì)連接google網(wǎng)站上去(報(bào)錯(cuò)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

# 注冊(cè)npm倉(cāng)庫(kù)
npm config set registry https://registry.npmjs.org
# 查看當(dāng)前配置項(xiàng)npm config getnpm config get proxy
# 刪除代理配置
npm config delete proxy
npm config delete https-proxy

配置本質(zhì)上會(huì)存放到“C:\Users\你的用戶名\.npmrc”內(nèi),所以也可以直接修改該文件。

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

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

 二、手機(jī)連接appium

2.1 啟動(dòng)appium服務(wù)

如果是通過(guò)npm安裝,appium會(huì)被安裝到nodejs目錄下,直接使用appium命令啟動(dòng)即可

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

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

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

使用數(shù)據(jù)線把手機(jī)連接到開(kāi)啟appium的電腦,開(kāi)啟usb調(diào)試功能。可使用adb命令列出設(shè)備確保連接成功

adb devices -l

三、 使用示例

下邊以python3+appium打開(kāi)微信并登錄進(jìn)行演示。python操作appium是通過(guò)向appnium的監(jiān)聽(tīng)端口發(fā)報(bào)文實(shí)現(xiàn)的,所以python不用安裝什么appium庫(kù)。

3.1 Desktop App打開(kāi)微信并登錄

添加以下四項(xiàng)值,完后點(diǎn)擊“Start Session”。

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

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

appPackage----要啟動(dòng)的app的包名。微信是"com.tencent.mm"

appActivity----要啟動(dòng)的界面。微信啟動(dòng)界面是".ui.LauncherUI"

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

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

點(diǎn)擊開(kāi)始錄制,然后在該appium界面上操作(注意不是自己直接在手機(jī)上操作),操作過(guò)程就會(huì)被記錄下來(lái)然后可輸出該過(guò)程對(duì)應(yīng)的python代碼

操作過(guò)程就會(huì)被記錄下來(lái),在Recorder下拉選擇語(yǔ)言即可輸出操作對(duì)應(yīng)的代碼

3.2 全代碼自動(dòng)化登錄實(shí)現(xiàn)

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

首先我們先安裝兩個(gè)依賴庫(kù)

pip install Appium-Python-Client Selenium

代碼補(bǔ)全如下,Appium-Python-Client繼承自Selenium所以使用方法和selenium是很類似的,更多api操作見(jiàn):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)聽(tīng)地址
server='http://localhost:4723/wd/hub'
# app啟動(dòng)參數(shù)
desired_caps={
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

# 驅(qū)動(dòng)
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")))
# 點(diǎn)擊登錄按鈕
login_btn.click()
# 獲取手機(jī)號(hào)文本框
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji")))
# 填寫手機(jī)號(hào)文本框
phone_text.send_keys("18888888888")

更多關(guān)于Appium的使用方法請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • Python使用pathlib進(jìn)行文件系統(tǒng)操作

    Python使用pathlib進(jìn)行文件系統(tǒng)操作

    pathlib?是?Python?的一個(gè)標(biāo)準(zhǔn)庫(kù),它提供了一個(gè)面向?qū)ο蟮奈募到y(tǒng)路徑操作接口,本文主要介紹了Python使用pathlib進(jìn)行文件系統(tǒng)操作的相關(guān)知識(shí),有需要的可以了解下
    2024-11-11
  • 使用pytorch時(shí)所遇到的一些問(wèn)題總結(jié)

    使用pytorch時(shí)所遇到的一些問(wèn)題總結(jié)

    這篇文章主要介紹了使用pytorch時(shí)所遇到的一些問(wèn)題總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 利用Python實(shí)現(xiàn)批量打包程序的工具

    利用Python實(shí)現(xiàn)批量打包程序的工具

    auto-py-to-exe與pyinstaller都無(wú)法直接一次性打包多個(gè)程序,想打包多個(gè)程序需要重新操作一遍。所以本文將用Python實(shí)現(xiàn)批量打包程序的工具,感興趣的可以了解一下
    2022-07-07
  • Python格式化字符串f-string概覽(小結(jié))

    Python格式化字符串f-string概覽(小結(jié))

    這篇文章主要介紹了Python格式化字符串f-string概覽(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 像線程一樣管理進(jìn)程的Python multiprocessing庫(kù)

    像線程一樣管理進(jìn)程的Python multiprocessing庫(kù)

    multiprocessing庫(kù)是基于threading API,它可以把工作劃分為多個(gè)進(jìn)程.有些情況下,multiprocessing可以作為臨時(shí)替換取代threading來(lái)利用多個(gè)CPU內(nèi)核,相應(yīng)地避免Python全局解釋器鎖所帶來(lái)的計(jì)算瓶頸.本文詳細(xì)介紹了Python multiprocessing庫(kù),需要的朋友可以參考下
    2021-05-05
  • Selenium中的option使用示例

    Selenium中的option使用示例

    這篇文章主要介紹了Selenium中的option用法實(shí)例,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • python用fsolve、leastsq對(duì)非線性方程組求解

    python用fsolve、leastsq對(duì)非線性方程組求解

    這篇文章主要為大家詳細(xì)介紹了python用fsolve、leastsq對(duì)非線性方程組進(jìn)行求解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python實(shí)現(xiàn)屏幕錄制功能的代碼

    Python實(shí)現(xiàn)屏幕錄制功能的代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)屏幕錄制功能,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python實(shí)現(xiàn)整數(shù)的二進(jìn)制循環(huán)移位

    python實(shí)現(xiàn)整數(shù)的二進(jìn)制循環(huán)移位

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)整數(shù)的二進(jìn)制循環(huán)移位,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 使用Python生成新春煙花效果的方法

    使用Python生成新春煙花效果的方法

    新春佳節(jié)到來(lái)之際,煙花的璀璨綻放象征著喜慶和熱鬧,如果能通過(guò)代碼在屏幕上生成煙花效果,既能增加節(jié)日的趣味,也能加深對(duì)編程的理解,本篇博客將詳細(xì)介紹如何使用Python生成新春煙花效果,包括實(shí)現(xiàn)原理、代碼解析以及常見(jiàn)問(wèn)題的解決方案,需要的朋友可以參考下
    2025-01-01

最新評(píng)論

凌海市| 丘北县| 古浪县| 辽宁省| 无为县| 连州市| 额敏县| 屏南县| 哈密市| 九龙坡区| 轮台县| 榆中县| 昭平县| 云龙县| 兰考县| 大同县| 旅游| 宜君县| 招远市| 红桥区| 临潭县| 永川市| 孙吴县| 名山县| 郓城县| 朝阳区| 密云县| 江川县| 建湖县| 饶平县| 潮州市| 马公市| 宜昌市| 达尔| 太湖县| 永川市| 甘孜| 鹿泉市| 靖安县| 双峰县| 青川县|