基於遙感廈門市水環境質量分析管理系統
阿新 • • 發佈:2022-05-19
Appium 是由 Node.js 來實現的 HTTP 服務,它並不是一套全新的框架,而是將現有的優秀的框架進行了整合,在 Selenium WebDriver 協議(JsonWireProtocol/Restful web service)的基礎上增加了移動端的支援,使 Appium 滿足多方面的需求。
官方提供更詳細的 Appium 結構說明:https://appium.io/docs/en/contributing-to-appium/appium-packages/
Appium 原理
不同平臺(如 Android,iOS)採用不同的執行和互動方式。Appium 可以建立並管理多個 WebDriver Session 來和不同的平臺互動。
以下幾步可以編譯構建 Appium 原始碼:
// clone appium 原始碼
git clone https://github.com/appium/appium.git
cd appium
// 安裝專案的依賴
npm install
// 編譯
npm run build
// 執行
node .
Appium lib 目錄包含了核心程式碼。
比如 main.js 中包含 Appium 的啟動語句:
async function logStartupInfo (parser, args) {
let welcome = `Welcome to Appium v${APPIUM_VER}`;
let appiumRev = await getGitRev();
if (appiumRev) {
welcome += ` (REV ${appiumRev})`;
}
logger.info(welcome);
let showArgs = getNonD
修改為
async function logStartupInfo (parser, args) {
let welcome = `hello v${APPIUM_VER}`;
let appiumRev = await getGitRev();
if (appiumRev) {
welcome += ` (REV ${appiumRev})`;
}
logger.info(welcome);
let showArgs = getNonD
編譯後 Appium Server 的啟動日誌會發生改變:
1080×140 68.9 KB
值得注意的是, Appium 本身不包含任何有關測試方法的程式碼,如果對底層進行修改和定製,請觀看後續文章。