PC 端自動化最佳方案 WinAppDriver

2022-09-07 09:27:12 字數 2313 閱讀 9535

另外,它支援的應用程式包含:

在實現之前,我們需要做好以下準備工作

2-1  開啟「 開發者模式 」

關鍵字搜尋「 開發者設定 」,選擇開啟「 開發者模式 」

2-2  安裝視窗元件元素識別工具

常用的 2 種視窗元素識別工具為:inspect.exe、flauinspect

其中作為官方的元件元素識別工具,inspect.exe 整合於 windows sdk

如果本地不存在該檔案,可以通過下面鏈結進行安裝

相比 inspect.exe,flauinspect 介面更簡潔,功能更易用( 推薦 )

可以參考:

2-5  安裝依賴

然後,我們使用 python 編寫自動化指令碼

import time, os

from selenium.webdriver import actionchains

from selenium.webdriver.common.keys import keys

from time import sleep

class auto():

def open_weixin(self, host='localhost', port=4723):

# 注意:如果手動開啟,則可以注釋掉

# 配置資訊

# 包含:平台名、系統、應用程式絕對路徑

desired_caps = :{}'.format(host, port), desired_caps)

except exception as e:

raise assertionerror(e)

接著,通過「 元件元素識別工具 」拿到介面元素的屬性值,執行常見的點選、移動、滑動等操作

比如:點選「 檔案傳輸助手 」,傳送一條資訊

# 給檔案傳輸助手傳送一條資訊

def send_msg(self, element_name, msg):

""":param element_name:元素name值

:param msg:

:return:

"""# 通過name屬性,找到目標元素

chat_element = self.weixin_driver.find_element_by_name(target_name)

# 點選元素,進入聊天介面

chat_element.click()

# 找到輸入框,並輸入

self.weixin_driver.find_element_by_name("輸入").send_keys(msg)

# 點選右下角的傳送,傳送訊息出去

self.weixin_driver.find_element_by_name("傳送(s)").click()

需要注意的是,如果涉及介面的滑動,可以使用「 actionchains 」移動滑鼠,然後使用 win32api 和 win32con 模擬螢幕滑動即可

import win32api

import win32con

from

from

selenium.webdriver import actionchains

# 模擬螢幕滑動# 1

、移動到某個元素區域

actionchains(self.weixin_driver).move_to_element(

self.weixin_driver.find_element_by_name(

"element_name

")).perform()# 2

、滑動介面

# 比如,向上滾動,模擬滑動

win32api.mouse_event(win32con.mouseeventf_wheel,

0, 0, -500)

# 釋放資源及關閉服務

def teardownfunc(self):

print(

"準備退出")

sleep(2)

# 1、釋放資源

self.weixin_driver.quit()

# 2 os.system(

'')

在實際使用過程中,可能會遇到複雜的桌面應用程式,這時我們可以通過列印驅動物件的「 page_source」元素控制樹值,以此來幫助我們進行快速定位元素,進而完善自動化指令碼

自動化測試 PC端自動化(一)

keys pywinauto vkpc 小鍵盤chuangkou 測試工具 true 1.安裝 pywinauto pip install pywinauto 2.開啟pc的.exe可執行檔案的,一種方式就夠用了 效果 3.可以看到視窗的名字是 無標題 記事本 列印一下這個視窗輸入的位置 結果con...

移動端自動化 實踐

目標 1.入門第乙個案例 2.基礎操作api 安裝 解除安裝 3.定位工具 4.定位元素 5.元素操作 前置 server 啟動引數 desired caps desired caps platformname android desired caps platformversion 5.1 des...

mysql自動化部署方案 什麼是自動化部署?

自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...