Appium 源码分析

环境参考 appium 的 travis.yml

使用网络代理

Node

1
nvm use v10.20.0

Python

1
pyenv shell 2.7.16

运行 Appium

拉取代码

1
2
mkdir appium && cd appium
git clone -b v1.17.0 https://github.com/appium/appium.git v1.17.0 && cd v1.17.0

环境

1
2
npm install
npm run build

运行 Appium

1
node .

Hacking on Appium

1
2
npm install -g appium-doctor
appium-doctor --dev

安装依赖

1
idevicelocation

opencv4nodejs

1
2
pyenv shell 3.6.1
npm install -g opencv4nodejs

appium-packages

appium-packages 简述

Selenium Packages

Core Packages

Utility Packages

Android Packages

iOS Packages

packages 都在 node_modules 目录下。

使用 IDE

Appium 使用 Visual Studio Code 开发的,依据是 .vscode 目录。

调试的配置文件

launch.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/build/lib/main.js",//package.json中的默认入口
"console" : "integratedTerminal" //控制台信息的显示
}
]
}

源码

lib 子目录是 Appium 的源码目录。而里面的 main.js 是 Appium 的程序入口。

lib/main.js: 程序入口 async function main

lib/appium.js:方法 createSession,executeCommand

node_modules/appium-base-driver/lib/protocol/route.js: 方法METHOD_MAP

node_modules/appium-base-driver/lib/protocol/protocol.js:方法routeConfiguringFunction

node_modules/appium-base-driver/lib/express/server.js:方法 routeConfiguringFunction

node_modules/appium-support/lib/logging.js:方法getLogger

lib/logger.js:给Appium打印的每行日志加上[Appium]的前缀

node_modules/appium-base-driver/lib/basedriver/commands:打印出当前sessionId创建成功

参考

contributing-to-appium

appium/appium-packages.md

appium 源码分析合集 (一)

Appium 开发环境搭建合集

Appium 从入门到原理

appium架构分析

Appium精要之Appium的背景知识

Appium在vscode中调试说明

appium通信分析一(appium的初始化准备工作)
Appium基础学习之 | Bootstrap源码分析

Appium 入门到原理合集

Android Bootstrap

手机自动化测试:appium源码分析之bootstrap一

Appium Android Bootstrap源码分析之简介

Appium-bootstrap远程的调试方法

appium和boostrap通信过程数据分析

手机自动化测试:appium源码分析之bootstrap 1

Appuim源码剖析(Bootstrap)/)

启动和日志分析

Appium Server 源码分析之启动运行Express http服务器

Appium Server源码分析之作为Bootstrap客户端

基于源码分析Appium服务端启动过程

Appium源码分析(3)-路由器模块

Appium通过日志分析服务端执行过程-IOS端

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Node
  2. 2. Python
  3. 3. 运行 Appium
  4. 4. Hacking on Appium
  5. 5. 安装依赖
    1. 5.1. opencv4nodejs
  • appium-packages
    1. 0.1. 使用 IDE
    2. 0.2. 调试的配置文件
    3. 0.3. 源码
  • 参考
    1. 1. Android Bootstrap
  • ,