基于node.js的appium简化操作平台
一个自己摸索开发的基于node.js的appium简化操作平台
效果截图:
技术栈概述
1. 自动化测试框架
- Appium: 移动端自动化测试框架
- unittest: Python单元测试框架
- HTMLTestRunner: 测试报告生成工具
- ddt: 数据驱动测试库
2. 主要第三方库
- appium-python-client: Appium Python客户端
- PyYAML: YAML配置文件解析
- opencv-python: 图像处理
- numpy: 数值计算
- requests: HTTP请求
- python.min.js
3. 核心功能模块
3.1 基础配置管理 (YamlHelper.py)
- 使用PyYAML读取配置文件
- 主要配置文件:
- config_android.yaml: Android测试配置
- config_ios.yaml: iOS测试配置
- el_imges_b64.yaml: 图像元素base64编码
主要函数:def read_yaml(file): # 读取YAML文件 def write_yaml(file, data): # 写入YAML文件 def read_yamlhelper(): # 读取主配置文件 def read_el_images_b64(): # 读取图像元素配置
3.2 页面操作助手 (PageOpertionHelper.py)
- 封装常用的页面操作方法
- 支持OCR文本识别
- 支持图像对比定位
主要函数:
def init_page(): # 初始化页面
def move_drown(): # 向下滑动
def move_up(): # 向上滑动
def click_element(): # 点击元素
def getImage_step(): # 截图
def el_images_find_clk(): # 图像识别点击
def check_pageExprired(): # 检查页面过期
元素查看器
元素检查器:https://inspector.appiumpro.com/
安装环境
npm install -g express
需要安装 ast-parser 包来更好地解析 Python 代码
重置依赖
首先删除 node_modules 文件夹(如果存在):
rm -rf node_modules
删除 package-lock.json(如果存在):
rm package-lock.json
清除 npm 缓存:
npm cache clean –force
重新安装依赖:
npm install
启动应用:
npm start
设置gthub
启用GitHub Pages:
- 进入GitHub仓库设置,找到”Pages”选项,在”Source”部分选择”gh-pages”分支
- 保存设置
验证部署:等待GitHub Actions完成部署(可以在Actions标签页查看进度)
部署完成后,访问 https://
如果是个人站点,直接访问 https://
注意事项:
确保仓库设置中的Actions权限已启用,第一次部署可能需要等待几分钟,如果遇到问题,检查+GitHub Actions日志
然后你需要在 GitHub 仓库设置中进行以下配置:
a. 进入你的仓库设置(Settings)
b. 点击左侧菜单的 “Pages”
c. 在 “Build and deployment” 部分:
Source: 选择 “GitHub Actions”
d. 回到左侧菜单,点击 “Actions” -> “General”
e. 在 “Workflow permissions” 部分:
选择 “Read and write permissions”
勾选 “Allow GitHub Actions to create and approve pull requests”
f. 点击 “Save” 保存更改
添加token
- 登录 GitHub
- 点击右上角头像 -> Settings
- 滚动到底部,点击左侧菜单 “Developer settings”
- 点击左侧菜单 “Personal access tokens” -> “Tokens (classic)”
- 点击 “Generate new token” -> “Generate new token (classic)”
- 设置 Token:
- Note: 填写描述,如 “Appium Control Token”
- Expiration: 选择过期时间,建议选择 “No expiration”
- 勾选以下权限:repo (完整的仓库访问权限)workflow (允许管理 GitHub Actions 工作流)
- 点击 “Generate token”
立即复制生成的 token(这是唯一一次看到完整 token 的机会)
将 Token 添加到仓库的 Secrets:
- 进入你的仓库
- 点击 “Settings” 标签
- 点击左侧 “Secrets and variables” -> “Actions”
- 点击 “New repository secret”
- 添加 secret:Name: APPIUM_CONTROL_TOKEN;Value: 粘贴刚才复制的 token
- 点击 “Add secret”
杀进程
Windows下
netstat -ano | findstr :4723
taskkill /F /PID ${PID}
Linux/mac下
lsof -i:4723 | grep LISTEN
kill -9 ${pid}
内网穿透ngork
登录ngork
下载对应系统的执行文件
运行即可:
ngrok http –url=hedgehog-pleasing-hound.ngrok-free.app 8081