ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Appium 实战上手:一套 W3C WebDriver 脚本自动化所有平台的 App

Appium 实战上手:一套 W3C WebDriver 脚本自动化所有平台的 App Appium 实战上手一套 W3C WebDriver 脚本自动化所有平台的 App【免费下载链接】appiumCross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol项目地址: https://gitcode.com/GitHub_Trending/ap/appiumAppium 是基于 W3C WebDriver 协议搭建的跨平台自动化框架不改动被测应用就能对原生、混合与移动 Web 应用做 UI 自动化。适合希望用一套脚本同时维护 Android、iOS 和桌面端测试的 QA 工程师与开发团队。第一次打开 Appium 仓库22 个包的单体仓库长什么样clone 下来后顶层是一个 monorepopackages/目录下有 22 个子包。最核心的三个appium核心服务器与 CLI、base-driver协议与 HTTP 层、base-plugin插件扩展基座。其余多为官方插件与工具如opencv图像匹配、images-plugin、storage-plugin、universal-xml-plugin。sample-code/目录里放着 js、py、rb 三种语言的 quickstart 脚本外加两个测试应用ApiDemos-debug.apk和TestApp.app.zip。整体架构其实很简单启动 Appium 服务器并装上对应的平台驱动服务器本身不碰设备真正干活的是 driverAndroid 用uiautomator2iOS 用xcuitest各管一个平台。驱动全部走扩展 CLI 管理appium driver install/list/update/uninstall其中 update 默认不跨大版本避免静默升级引入破坏性变更。appium server默认监听 4723 端口--address、--port、--base-path都可以指定。支持并行可以同时跑多个服务器进程单个进程内也允许多个 driver 会话并存。命令行相关的实现在 packages/appium/lib/cli/。用你熟悉的语言写 UI 自动化客户端官方支持 Java、Python、Ruby、.NET其他语言有第三方实现API 都是同一套 WebDriver 风格。你可以直接打开 packages/appium/sample-code/quickstarts/ 挑一份抄js 版就是一个 webdriverio 脚本拉起 Android 设置应用并点击 Apps 条目全文不到 30 行。同一个脚本里可以在原生界面和 WebView 之间来回切换xcuitest、uiautomator2这类驱动内置支持不用换协议重写。测试框架随便选Appium 不做限定。视图树拿不到元素时的兜底图像匹配Canvas 游戏、第三方播放器这类拿不到元素属性的场景opencv包提供了模板匹配截屏后喂一张裁剪的小图它在屏幕上找出坐标。测试用例 findwaldo 很能说明问题在一张 1000x707 的人群图里定位一个很小的 waldo。匹配到的区域可以包装成 ImageElement 继续点击、拖动等交互而不是只返回一个坐标。对应代码在 packages/opencv/。不改服务器源码就能扩展插件机制驱动覆盖不到的需求可以用插件补storage-plugin提供会话级 KV 存储universal-xml-plugin把各平台 XML 视图源归一化让同一套 XPath 在多个平台复用。插件与驱动的区别在于必须用appium --use-pluginsname显式启用驱动则是装完默认生效。扩展的元数据由 manifest 机制v3/v4管理老版本的兼容逻辑在 packages/appium/lib/extension/ 里可以翻一下。动手指南最短路径跑通第一个示例克隆仓库git clone https://gitcode.com/GitHub_Trending/ap/appiumnpm i -g appium装核心服务器再appium driver install uiautomator2加一个 Android 驱动iOS 则装xcuitest。运行appium server确认它在 4723 端口监听。把packages/appium/sample-code/quickstarts/js/test.js拷出来把appPackage和appActivity改成你自己的应用node test.js即可跑通。你大概率会踩的坑 服务器起来了但创建会话报错九成是忘了装驱动核心包本身不能自动化任何设备先appium driver list --installed看一眼。升级后满屏协议错误v2 到 v3 有破坏性变更配置和 caps 写法都动过先翻迁移文档再改代码别硬猜。报 Appium 1 残留相关错误旧版必须先npm uninstall -g appium卸干净再装新版两个大版本没法共存。文档、示例与本地调试资源仓库内带三语文档packages/appium/docs/en/zh/ja 结构一致guides/下从配置系统到版本迁移都有专门章节。手头没有真机也没关系packages/fake-driver是内置的假驱动整个仓库的 e2e 测试就靠它离机运行拿它练手最安全。下一步建议先读 packages/appium/docs/zh/quickstart/index.md然后本地起一个appium server把 py 版 quickstart 指到你的真机上完成第一次会话——这是验证环境最快的方式。【免费下载链接】appiumCross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol项目地址: https://gitcode.com/GitHub_Trending/ap/appium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表