日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去

發(fā)布時間:2025/3/15 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Appium 是一個移動端的自動化框架,可用于測試原生應(yīng)用,移動網(wǎng)頁應(yīng)用和混合型應(yīng) 用,且是跨平臺的。可用于 ios 和 Android 操作系統(tǒng)。

Appium+Python

  • 一、前提
    • 1.1 JDK安裝及其配置環(huán)境變量
    • 1.2 Android-SDK 安裝
    • 1.3 Node.js 安裝
    • 1.4 Appium 客戶端安裝
    • 1.5 python安裝及其配置環(huán)境變量
    • 1.6 pycharm安裝
    • 1.7 安裝python庫Appium-Python-Client
  • 二、實戰(zhàn)
    • 2.1點擊某個事件
    • 2.2點擊某組元素的某個事件
    • 2.3一組定位方式補(bǔ)充
    • 2.4一個定位方式補(bǔ)充

一、前提

1.1 JDK安裝及其配置環(huán)境變量

下載安裝配置也就是基本的(應(yīng)該都會)

測試是否配置好 ,在cmd下輸入(下同)

java -version

1.2 Android-SDK 安裝

這個直接在Android Studio里面就有

測試是否配置好

adb --version

1.3 Node.js 安裝

node.js官網(wǎng)下載:https://nodejs.org/en/
測試,進(jìn)入node.js的安裝路徑,輸入

node --version

1.4 Appium 客戶端安裝

除了以上 jdk 和 Android-sdk 環(huán)境,我們使用 Appium 和 python 來進(jìn)行自動化測試,還 需要安裝兩個東西,一個是Appium 的客戶端,一個是 Appium-python 庫。這兩個需要安裝的東西在加上手機(jī)就可以進(jìn)行自動化測試,它們之間的關(guān)系是:python 代碼>Appium-python 庫>Appium->手機(jī)。

appium-desktop 下載地址:https://github.com/appium/appium-desktop/releases
(這個軟件有點大,我上傳了一個到百度網(wǎng)盤里面
鏈接:https://pan.baidu.com/s/1WlaYoifeRGIF1Yc02deScQ
提取碼:wp4l )

下載下來之后右鍵管理員身份打開,打開之后選擇為使用這臺電腦的任何人安裝(所有用戶),安裝之后的默認(rèn)路徑是C:\Program Files\Appium

記得配置環(huán)境變量,如下

默認(rèn)Host和Port,在python中寫好代碼要運(yùn)行之前就點擊Start Server v1.18.0

1.5 python安裝及其配置環(huán)境變量

測試是否配置好

python

1.6 pycharm安裝

官網(wǎng):https://www.jetbrains.com/pycharm/download/#section=windows
下載一個社區(qū)版就可以了哈哈哈

1.7 安裝python庫Appium-Python-Client

打開cmd,輸入

pip install Appium-Python-Client

二、實戰(zhàn)

  • 開啟模擬器(我的是直接用的Android Studio的模擬器,所以在開啟模擬器之前我還要開啟Android Studio)
  • 打開appium服務(wù)器
  • 打開pycharm
  • 打開cmd
  • 打開uiautomatorviewer(在SDK目錄下)
  • 2.1點擊某個事件

    打開pycharm,新建一個py文件,輸入代碼

    from appium import webdriver import time desired_caps=dict() desired_caps['platformName']='Android'#平臺的名字,不區(qū)分大小寫,“Android”;“ios” desired_caps['platformVersion']='5.0'#平臺的版本,可以不寫后續(xù)版本號 desired_caps['deviceName']='emulator-5554'#設(shè)備的名字,不能為空 desired_caps['appPackage']='com.google.android.apps.messaging' #要打開的應(yīng)用程序包名 desired_caps['appActivity']='.ui.ConversationListActivity'#要打開的應(yīng)用程序的界面名 desired_caps['udid']='emulator-5554'#連接設(shè)備的唯一標(biāo)識 driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#連接 appium 服務(wù)器driver.start_activity("com.google.android.apps.messaging", ".ui.ConversationListActivity") #包名(前面是包名,后面是界面名) driver.find_element_by_id("com.google.android.apps.messaging:id/start_new_conversation_button").click() #點擊事件 time.sleep(3) driver.quit()

    注意:(運(yùn)行前提是你的Android Studio中的模擬器開啟了、appium服務(wù)器也開啟了)
    第六行設(shè)備名字查詢:cmd 之后輸入

    adb devices


    第7行、第8行:要打開的應(yīng)用程序包名、要打開的應(yīng)用程序的界面名

    找到你想要測試的程序,事先在模擬器中打開這個程序

    cmd下輸入

    adb shell dumpsys window | findstr mCurrentFocus

    回車之后就可以看到你想測試的程序的包名和界面名(界面名可以省略包名,但是.點不可以省略)

    如何查找點擊事件的特定id???(第13行)

    cmd打開uiautomatorviewer

    如果沒有添加到環(huán)境變量的話就去sdk目錄下找到uiautomatorviewer.bat
    在Android Studio中第一行找到file——>Settings

    點擊模擬器,在uiautomatorviewer找到resource-id,這個id是每個點擊事件特有的。

    點擊1,在點擊你想要操作的事件2,就可以看到id了

    運(yùn)行python代碼之后模擬器就會自動開啟這個程序啦!

    2.2點擊某組元素的某個事件

    這個其實是通過索引來的

    見代碼

    from appium import webdriver import time desired_caps=dict() desired_caps['platformName']='Android'#平臺的名字,不區(qū)分大小寫,“Android”;“ios” desired_caps['platformVersion']='5.0'#平臺的版本,可以不寫后續(xù)版本號 desired_caps['deviceName']='emulator-5554'#設(shè)備的名字,不能為空 # desired_caps['appPackage']='com.google.android.apps.messaging' #要打開的應(yīng)用程序包名 # desired_caps['appActivity']='.ui.ConversationListActivity'#要打開的應(yīng)用程序的界面名 desired_caps['udid']='emulator-5554'#連接設(shè)備的唯一標(biāo)識 driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#連接 appium 服務(wù)器# driver.start_activity("com.google.android.apps.messaging", ".ui.ConversationListActivity") #包名(前面是包名,后面是界面名) # driver.find_element_by_id("com.google.android.apps.messaging:id/start_new_conversation_button").click() #點擊事件 # time.sleep(3) # driver.quit()#如何定位一組元素,比如說我要打開設(shè)置的第三個選項 driver.start_activity("com.android.settings",".Settings") #包名(前面是包名,后面是界面名) A=driver.find_elements_by_class_name("android.widget.LinearLayout") #類名(記住類名要一樣,自己試試) A[6].click() time.sleep(5) driver.quit()

    里面的class_name也是通過uiautomatorviewer去看的,比如我我要打開Connected devices這個選項,它的索引為6(第21行代碼),就會自動打開了

    https://blog.csdn.net/hanhanwanghaha一個超級無敵可愛的人鴨 歡迎您的關(guān)注!
    歡迎關(guān)注微信公眾號:寶藏女孩的成長日記
    如有轉(zhuǎn)載,請注明出處(如不注明,盜者必究)

    2.3一組定位方式補(bǔ)充

    通過class_name(類名)定位一組元素

    find_elements_by_class_name("class_name")

    通過id定位一組元素

    driver.find_elements_by_id("id_name")

    通過xpath定位一組元素

    driver.find_elements_by_xpath("xpath_name")

    2.4一個定位方式補(bǔ)充

    其實這個也就是一組的方式中的elements少個s

    通過class_name(類名)定位一個元素

    find_element_by_class_name("class_name")

    通過id定位一個元素

    driver.find_element_by_id("id_name")

    通過xpath定位一個元素

    driver.find_element_by_xpath("xpath_name")


    這是我移動端的自動化測試,我記得以前還發(fā)了一個PC端的自動化測試 點擊此處

    https://blog.csdn.net/hanhanwanghaha歡迎關(guān)注這個超級無敵可愛的人鴨,有什么問題留言私信皆可,看見必回!
    創(chuàng)作不易,如有轉(zhuǎn)載,請注明出處

    總結(jié)

    以上是生活随笔為你收集整理的Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。