首頁 > 軟體

APPium+Python編寫真機行動端自動化指令碼的專案實踐

2022-07-29 14:02:08

前置條件

完成軟體和環境的安裝後就可以開始行動端自動化指令碼的編寫了。

連線裝置

手機開啟USB偵錯模式,連線手機。此時去命令視窗檢視自己的裝置是否已經連線。

讓後開啟Appium Server,進行設定,設定Android與Java的環境地址。

啟動伺服器,即可。

指令碼編寫

初始化裝置引數

首先對於手機的引數進行填寫,對於要進行測試的APP的資訊也進行獲取。

import time
from appium import webdriver

# 初始化引數
desired_caps = {
    'platformName': 'Android',  # 被測手機是安卓
    'platformVersion': '11',  # 手機安卓版本
    'deviceName': 'ncaa',  # 裝置名,安卓手機可以隨意填寫
    'appPackage': 'com.cainiao.wireless',  # 啟動APP的包名
    'appActivity': '.homepage.view.activity.WelcomeActivity',  # 啟動的Activity名稱
    'noReset': True,  # 不要重置App,如果為False的話,執行完指令碼後,app的資料會清空,比如你原本登入了,執行完指令碼後就退出登入了
    'newCommandTimeout': 6000,  # 命令的時間間隔
    'unicodeKeyboard': True,  # 繞過手機鍵盤操作,unicodeKeyboard是使用unicode編碼方式傳送字串,即中文
    'resetKeyboard': True,  # 繞過手機鍵盤操作,resetKeyboard是將鍵盤隱藏起來
}

以微信為例,我們在命令視窗中輸入該手機的所有的第三方軟體,獲取手機上所需包名。

在獲取該APP登入的活動。首先在手機上開啟微信,並在CMD中進行操作。從而獲取到了微信的包名與登入的活動名。

# 連線Appium Server,初始化自動化環境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(5)

之後進行APPium的連線,手機就會自動開啟微信了。

操作命令

下一步,我們開啟Android UI分析器。獲取到了目前手機頁面的資訊。根據我們的目的,找到自己所需的元件即可。根據其ID我們就可以在上手機上定位它,從而完成我們相要的操作。

指令碼執行

具體程式碼與實現效果如下:

import time
from appium import webdriver

# 初始化引數
desired_caps = {
    'platformName': 'Android',  # 被測手機是安卓
    'platformVersion': '11',  # 手機安卓版本
    'deviceName': 'ncaa',  # 裝置名,安卓手機可以隨意填寫
    'appPackage': 'com.tencent.mm',  # 啟動APP的包名
    'appActivity': '.ui.LauncherUI',  # 啟動的Activity名稱
    'noReset': True,  # 不要重置App,如果為False的話,執行完指令碼後,app的資料會清空,比如你原本登入了,執行完指令碼後就退出登入了
    'newCommandTimeout': 6000,  # 命令的時間間隔
    # 'unicodeKeyboard': True,  # 繞過手機鍵盤操作,unicodeKeyboard是使用unicode編碼方式傳送字串,即中文
    'resetKeyboard': True,  # 繞過手機鍵盤操作,resetKeyboard是將鍵盤隱藏起來
}

# 連線Appium Server,初始化自動化環境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# time.sleep(5)

# 每個操作的等待時間
driver.implicitly_wait(5)

driver.find_element_by_id('com.tencent.mm:id/fzg').click()

driver.find_element_by_id('com.tencent.mm:id/auj').send_keys('川北野生小熊貓')

driver.find_element_by_id('com.tencent.mm:id/ay5').click()

print("      done        ")
time.sleep(600)

driver.quit()

 到此這篇關於APPium+Python編寫真機行動端自動化指令碼的專案實踐的文章就介紹到這了,更多相關APPium Python真機行動端自動化指令碼內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com