https://github.com/zcfan/appium-mp-driver
Appium MiniProgram Driver
https://github.com/zcfan/appium-mp-driver
Last synced: about 2 months ago
JSON representation
Appium MiniProgram Driver
- Host: GitHub
- URL: https://github.com/zcfan/appium-mp-driver
- Owner: zcfan
- Created: 2020-06-10T12:46:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-11T07:46:43.000Z (almost 5 years ago)
- Last Synced: 2025-01-26T08:41:55.577Z (3 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Appium MiniProgram Driver
----Appium MiniProgram Driver is a test automation tool for WeiXin(a.k.a. WeChat) MiniProgram.
Appium MiniProgram Driver 是针对微信小程序的测试自动化工具。将微信官方自动化接口封装为 Appium Driver,借助 Appium 框架与 WebDriver API,我们可以使用多种编程语言编写小程序自动化脚本。
## 现状
试验性完成了:
- 截图
- css selector 获取单个、多个 element
- tap 指定 element
- longPress 指定 element
- pageScrollTo
- scroll-view 的 scrollTo
- swiper 的 swipeTo## 障碍
#### 手势 API 不标准
只是简单尝试一下就遇到了 scroll-view 和 swiper 两个标签有自己的特殊 API。不过解决起来也还好,暂时不算坑。
#### 截图 API 有问题
> 更新:确实是 bug,基础库 2.11.1 版本后修复了,也可以清除开发者工具缓存临时解决。
miniprogram-automator 的 screenshot 本身就有问题,一开始好好的突然开始截图失败。
```
> mpProgram.screenshot()
Promise { }
> (node:50420) UnhandledPromiseRejectionWarning: Error: fail to capture screenshot
at Transport.Connection.onMessage (/PATH_TO_PROJECT/appium-mp-driver/node_modules/miniprogram-automator/out/Connection.js:1:986)
at Transport.emit (events.js:315:20)
at Transport.EventEmitter.emit (domain.js:505:15)
at WebSocket. (/PATH_TO_PROJECT/appium-mp-driver/node_modules/miniprogram-automator/out/Transport.js:1:219)
at WebSocket.onMessage (/PATH_TO_PROJECT/appium-mp-driver/node_modules/miniprogram-automator/node_modules/ws/lib/event-target.js:120:16)
at WebSocket.emit (events.js:315:20)
at WebSocket.EventEmitter.emit (domain.js:505:15)
at Receiver.receiverOnMessage (/PATH_TO_PROJECT/appium-mp-driver/node_modules/miniprogram-automator/node_modules/ws/lib/websocket.js:789:20)
at Receiver.emit (events.js:315:20)
at Receiver.EventEmitter.emit (domain.js:505:15)
(node:50420) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 14)
```