Select Page
提升 App 測試效率:UIAutoDev UI定位與 XPath 自動生成指南

提升 App 測試效率:UIAutoDev UI定位與 XPath 自動生成指南

Views: 0

UIAutoDev 是一款不可或缺的工具,它支援 Android 和 iOS 平台,提供直觀的圖形介面,讓開發者能夠輕鬆地定位 UI 元素、生成選擇器,並進行色彩分析。

UIAutoDev UI DEMO

🔧 UIAutoDev 的核心特色

1. 支援 Android 和 iOS 平台

UIAutoDev 同時支援 Android 和 iOS 裝置的 UI 元素檢視與操作。​對於 iOS,用戶需自行啟動 WebDriverAgent(WDA)服務,以實現與裝置的連接。​

2. 直觀的控件選擇與屬性檢視

透過滑鼠點選應用程式中的控件,UIAutoDev 會即時顯示該元素的屬性資訊,如 resource-idtextclass 等,並在控件樹中高亮顯示,方便用戶精確定位。​

3. 自動生成 XPath 選擇器

UIAutoDev 能夠根據選取的控件,自動生成多個 XPath 選擇器,並標示每個選擇器匹配的元素數量,協助用戶選擇最合適的定位方式。​

4. 色彩分析與坐標微調

工具提供找色功能,允許用戶獲取指定位置的 RGB 和 HSB 色值。​同時,透過方向鍵微調坐標,精確定位需要操作的區域,提升自動化腳本的準確性。​


🚀 安裝與使用指南

1. 安裝 Python 環境

確保系統已安裝 Python 3.8 或以上版本。​

2. 安裝 UIAutoDev

在終端機中執行以下命令:

pip install uiautodev

3. 啟動 UIAutoDev

安裝完成後,執行以下命令啟動工具:

python -m uiautodev

啟動後,瀏覽器將自動打開 UIAutoDev 的網頁介面。​

4. 連接裝置

  • Android:​啟用開發者選項並允許 USB 偵錯,使用 USB 或 Wi-Fi 連接裝置。
  • iOS:​啟動 WebDriverAgent(WDA)服務,並確保裝置與電腦在同一網路下。​

5. 使用工具進行 UI 元素定位

  • 在網頁介面中選擇已連接的裝置。
  • 點擊「刷新」按鈕,同步裝置當前畫面。
  • 使用滑鼠點選畫面中的控件,查看其屬性資訊,並在右側控件樹中進行導航。
  • 利用自動生成的 XPath 選擇器,快速編寫自動化腳本。

🧪 實際應用範例

可以先看DEMO

以下是一段使用 uiautomator2 與 UIAutoDev 結合的 Python 腳本範例:

import uiautomator2 as u2

# 連接到裝置
d = u2.connect()

# 啟動應用程式
d.app_start("com.example.app")

# 點擊指定的控件
d(resourceId="com.example.app:id/button").click()

# 輸入文字
d(resourceId="com.example.app:id/input").set_text("測試輸入")

# 關閉應用程式
d.app_stop("com.example.app")

透過 UIAutoDev 提供的控件屬性資訊,您可以輕鬆取得 resource-id 等屬性,快速編寫上述腳本。

參考資料

https://testerhome.com/topics/40069

OpenAI 的 AI 3D 解決方案:Point-E 與 Shap-E 的比較與應用

OpenAI 的 AI 3D 解決方案:Point-E 與 Shap-E 的比較與應用

Views: 0

OpenAI 推出了兩款開源的 3D 建模工具:Point-EShap-E,分別專注於從文字或圖片生成 3D 模型,接下來介紹這兩個模型的核心特性、技術架構、使用方法,並比較它們的優缺點,協助您選擇最適合的工具。​

🔍 Point-E:快速生成 3D 點雲的 AI 工具

📌 核心特點

  • 輸入類型:​支援文字描述或 2D 圖片。
  • 輸出格式:​生成彩色點雲(point cloud),可轉換為網格(mesh)。
  • 處理速度:​在單張 GPU 上約需 1–2 分鐘。
  • 技術架構:​採用兩階段擴散模型,先生成合成視圖,再生成點雲。
  • 應用場景:​快速原型設計、教育用途、遊戲開發等。

🧪 使用方法

  1. 安裝

生成點雲

🧠 Shap-E:生成高品質 3D 隱式模型的 AI 工具

📌 核心特點

  • 輸入類型:​支援文字描述或 2D 圖片。
  • 輸出格式:​生成隱式函數,可渲染為帶紋理的網格或神經輻射場(NeRF)。
  • 處理速度:​在單張 GPU 上可於數秒內生成。
  • 技術架構:​先訓練編碼器將 3D 資產映射為隱式函數參數,再訓練條件擴散模型生成 3D 模型。
  • 應用場景:​高品質 3D 資產創建、AR/VR 應用、3D 列印等。​

🧪 使用方法

  1. 安裝

生成 3D 模型

  • 使用 sample_text_to_3d.ipynbsample_image_to_3d.ipynb 範例筆記本。
  • 可將生成的模型導出為常見的 3D 格式,供進一步編輯或列印。

⚖️ Point-E 與 Shap-E 的比較

特性Point-EShap-E
輸入類型文字、圖片文字、圖片
輸出格式彩色點雲,可轉為網格隱式函數,可渲染為網格或 NeRF
處理速度約 1–2 分鐘數秒內
模型架構兩階段擴散模型編碼器 + 條件擴散模型
輸出品質中等,適合快速原型設計高品質,適合精細 3D 資產創建
應用場景快速原型、教育、遊戲開發高品質 3D 資產、AR/VR、3D 列印等

🧩 適用場景建議

  • Point-E:​適合需要快速生成 3D 模型的場景,如教育、初步設計、遊戲開發等。
  • Shap-E:​適合對 3D 模型品質要求較高的場景,如 AR/VR 應用、3D 列印、動畫製作等。​

🔗 資源連結

參考資訊

GibberLink 教學:實現 AI 助理之間的加密音頻對話

GibberLink 教學:實現 AI 助理之間的加密音頻對話

Views: 2

GibberLink 是一項創新的開源專案,讓 AI 助理之間以更高效的方式進行音頻對話。​這項技術於 2025 年的 ElevenLabs 倫敦黑客馬拉松中脫穎而出,獲得了全球首獎。

🔍 GibberLink 是什麼?

GibberLink 是由 Boris Starkov 和 Anton Pidkuiko 兩位開發者在黑客馬拉松期間開發的開源專案。​其核心理念是讓 AI 助理在識別到對方也是 AI 時,切換到一種更高效的通訊協議,使用聲波傳輸結構化數據,而非傳統的人類語言。​這種方式不僅提高了通訊效率,還減少了計算資源的消耗。

⚙️ GibberLink 的運作原理

  1. 初始對話:​兩個 AI 助理以人類語言開始對話。
  2. 身份識別:​當其中一方識別到對方也是 AI 助理時,提出切換到 GibberLink 模式。
  3. 協議切換:​雙方同意後,切換到使用聲波傳輸數據的通訊協議。
  4. 數據傳輸:​利用開源的 ggwave 庫,將結構化數據編碼為聲波信號,進行高效的數據交換。

這種方式類似於早期撥號調製解調器的數據傳輸,但經過現代化的優化,更適合當前的 AI 通訊需求。​

🔐 AI 加密對話的實現

GibberLink 不僅提高了通訊效率,還注重數據的安全性。​在進行聲波數據交換時,AI 助理會使用非對稱加密技術(如 P-256 密鑰對)進行加密,確保通訊內容的保密性和完整性。​這種端對端的加密方式,即使通訊被攔截,也無法解密其中的內容。

🌐 如何體驗 GibberLink?

  • 線上體驗:​訪問 gbrl.ai,在兩個設備上打開該網站,即可觀察 AI 助理之間的音頻對話。
  • 開源代碼:​GibberLink 的完整代碼已在 GitHub 上開源,地址為 github.com/PennyroyalTea/gibberlink。​

🏆 為何值得關注?

  • 高效通訊:​GibberLink 模式下的 AI 對話比傳統語音通訊快約 80%,大幅提升了通訊效率。
  • 資源節省:​減少了語音生成和語音識別的計算資源消耗,降低了運營成本。
  • 安全保障:​採用先進的加密技術,確保通訊內容的安全性。
  • 開源共享:​開源的特性使得開發者可以自由使用、修改和擴展該技術。

🔧 GibberLink 安裝與本地部署教學

GibberLink 是一個開源專案,您可以在本地環境中部署並體驗 AI 之間的聲音通訊。​

1. 安裝 Node.js(建議版本:v20)

GibberLink 需要 Node.js 環境,建議使用 v18.18.0 或更高版本。以下是使用 NVM 安裝 Node.js 的步驟:

curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20
nvm alias default 20  # 可選,將 Node.js 20 設為預設版本

2.下載並設定 GibberLink 專案

git clone https://github.com/PennyroyalTea/gibberlink.git
cd gibberlink
mv example.env .env

並且編輯 .env 檔案,填入您的 ElevenLabs 和 LLM 提供者的 API 金鑰。​

3.安裝相依套件並啟動專案

npm install
npm run dev

啟動後,您可以透過瀏覽器訪問 http://localhost:3003 來使用 GibberLink。​

參考資料

Unwatermark.ai:6 秒免註冊的免費 AI 影片去字幕工具,初學者也能輕鬆上手!

Unwatermark.ai:6 秒免註冊的免費 AI 影片去字幕工具,初學者也能輕鬆上手!

Views: 6

Unwatermark.ai,即使是初學者也能輕鬆完成這項任務。​這款線上工具無需註冊、完全免費,操作簡單,讓你在 6 秒內開始體驗 AI 去字幕的強大功能。

🧩 Unwatermark.ai 的主要特色

✅ 完全免費,無需註冊

使用 Unwatermark.ai,你不需要提供任何個人資訊或創建帳號,只需打開網站,即可立即開始使用,省去繁瑣的註冊流程。

🎨 簡單的操作介面

上傳影片後,利用畫筆或矩形工具標記想要去除的字幕區域,AI 會自動分析並去除標記區域的字幕,同時填補背景,保持影片畫質清晰自然。​

📁 支援多種影片格式

Unwatermark.ai 支援 MP4、AVI、MOV 等常見影片格式,無需擔心格式相容性問題。​

⚡ 快速處理,節省時間

得益於高效的 AI 演算法,Unwatermark.ai 能夠在短時間內完成字幕去除,讓你快速獲得無字幕的影片。​

💰 價格合理,選擇多樣

除了免費使用外,Unwatermark.ai 也提供多種付費方案,滿足不同用戶的需求。​


🛠️ 如何使用 Unwatermark.ai?

  1. 打開網站:前往 Unwatermark.ai 官方網站
  2. 上傳影片:點擊「上傳影片」按鈕,選擇你想要去除字幕的影片。
  3. 標記字幕區域:使用畫筆或矩形工具,標記影片中需要去除的字幕位置。
  4. 開始處理:點擊「開始去除」按鈕,AI 將自動處理影片。
  5. 下載影片:處理完成後,下載無字幕的影片即可。​

🎯 適合哪些人使用?

  • 影片創作者:​需要去除原始影片中的字幕,以便重新編輯或添加新的字幕。
  • 教育工作者:​希望使用無字幕的影片作為教學素材。
  • 社群媒體使用者:​想要分享無字幕的影片,提升觀賞體驗。
  • 初學者:​沒有影片編輯經驗,但需要簡單快速地去除字幕。

參考資料

Nuitka GUI 入門指南:Python 封裝成 exe,小白友善介面快速搞定

Nuitka GUI 入門指南:Python 封裝成 exe,小白友善介面快速搞定

Views: 136

當你在開發 Python 時,將程式轉換為可執行檔案(如 .exe)並提升執行效率是許多開發者關心的議題,Nuitka 是一款大家都推薦的 Python 編譯器,能夠將 Python 原始碼編譯為 C 語言,進而生成高效的可執行檔案​,今天來介紹 Nuitka 的安裝、封裝流程、靜態檔案,與相依套件的處理,以及常見問題與性能優化建議,讓即使是初學者也能輕鬆上手。​

1. 安裝與執行封裝

安裝 Nuitka

  1. 安裝 C++ 編譯器:​Nuitka 需要 C++ 編譯器來編譯生成的 C 程式碼。在 Windows 系統上,推薦安裝 MinGW64。
  2. 安裝 Nuitka:​使用 pip 安裝 Nuitka:

執行封裝

假設您的主程式為 main.py,可以使用以下命令將其封裝為可執行檔案:

nuitka --standalone --mingw64 --enable-plugins=tk-inter --disable-console --remove-output --onefile --output-dir=output main.py

上述命令的參數說明:

  • --standalone:​生成獨立的可執行檔案,包含所有相依套件。​
  • --mingw64:​使用 MinGW64 作為編譯器。
  • --enable-plugins=tk-inter:​啟用 tkinter 插件,根據實際使用的套件啟用相應插件。​
  • --disable-console:​隱藏執行時的控制台視窗,適用於 GUI 應用程式。​
  • --remove-output:​在編譯完成後移除中間產物。​
  • --output-dir=output:​指定輸出目錄為 output
  • –onefile:如果希望輸出為單一 .exe 檔案

如果是要用 Visual Studio C++ 來封裝的話可以改用

nuitka --standalone --msvc=latest --enable-plugins=tk-inter --disable-console --remove-output --output-dir=output main.py

2.靜態檔案的處理

在某些應用中,可能需要包含額外的靜態檔案(如圖片、配置檔案)。​Nuitka 提供了 --include-data-dir 參數來處理這些檔案:

此命令將當前目錄下的 static 資料夾包含到生成的可執行檔案中,並在執行時可正常訪問。

3.相依套件的處理

Nuitka 會自動檢測並包含大多數的相依套件。​然而,對於某些特殊的套件,可能需要手動啟用相應的插件。​例如,若您的程式使用了 PySide6,則需要在編譯時啟用該插件:

您可以使用 nuitka --plugin-list 命令查看所有可用的插件列表。

4.常見問題的處理

Nuitka 在首次編譯大型專案時可能需要較長時間。​為了加快編譯速度,可以安裝 ccache 來進行編譯快取。

由於 Nuitka 會將所有相依套件包含在內,生成的可執行檔案可能較大。​可以嘗試使用 --onefile 參數將所有內容打包成單一檔案,或使用壓縮工具對生成的檔案進行壓縮。

5.關於速度的優化

Nuitka 通過將 Python 程式編譯為 C 語言,通常能提升程式的執行效率。​然而,實際的性能提升取決於程式的結構和內容。​為了獲得最佳性能,建議:​

  • 優化原始碼:​確保程式碼中沒有不必要的計算和冗餘。​
  • 使用內建函數:​盡可能使用 Python 的內建函數,因為它們通常經過高度優化。​
  • 避免過度使用動態特性:​如 evalexec 等,這些可能影響編譯器的優化能力。

6.🌟使用 Nuitka GUI 友善介面

因為既指令很麻煩,推薦使用 Nuitka GUI,這是一款直覺且操作簡單的圖形介面工具。

Nuitka 官方 GUI 安裝:

開啟 Nuitka GUI:

或是用開源的 GUI

https://github.com/271374667/NuitkaGUI

參考資料

https://nuitka.net