当前位置: 首页 > news >正文

在 JavaScript中编写 Appium 测试(入门)

1.编写一个测试 (JS)

要在 JavaScript(Node.js)中编写 Appium 测试,我们需要选择一个与 Appium 兼容的客户端 库。维护最好的库和 Appium 团队推荐使用的库是 WebdriverIO, 所有就让我们使用它吧。既然我们已经安装了 Appium,我们 已经满足了 Node 和 NPM 的要求。因此,只需在计算机上创建一个新的项目目录 然后在其中初始化一个新的 Node.js 项目

import { remote } from 'webdriverio';// 配置Appium测试所需的设备和应用信息
const capabilities = {platformName: 'Android',                  // 测试平台为安卓'appium:automationName': 'UiAutomator2', // 使用UiAutomator2自动化引擎'appium:deviceName': 'emulator-5554',    // 目标设备名称(通过adb devices获取)'appium:appPackage': 'com.android.settings', // 被测应用包名(设置应用)'appium:appActivity': '.Settings',       // 启动的Activity名称
};// 从环境变量获取Appium服务器端口,默认4723
const port = process.env.APPIUM_PORT ? parseInt(process.env.APPIUM_PORT, 10) : 4723;
// 验证端口有效性
if (isNaN(port)) {console.error('Invalid APPIUM_PORT environment variable');process.exit(1);
}// 配置WebDriver连接选项
const wdOpts = {hostname: process.env.APPIUM_HOST || 'localhost', // Appium服务器地址port,                                              // 服务器端口logLevel: 'info',                                 // 日志级别capabilities,                                      // 传递设备和应用配置
};/*** 执行自动化测试的主函数* 1. 连接Appium服务器* 2. 定位并点击设置中的电池选项* 3. 清理资源并退出*/
async function runTest() {const driver = await remote(wdOpts); // 初始化WebDriver会话try {// 通过ID定位设置中的电池选项(注意:此处ID需要根据实际应用UI调整)const batteryItem = await driver.$('id=com.android.settings:id/battery_item_id');await batteryItem.click(); // 执行点击操作} finally {await driver.pause(1000); // 等待1秒便于观察结果await driver.deleteSession(); // 关闭会话释放资源}
}// 执行测试并处理异常
runTest().catch((error) => {console.error('Test failed:', error);// 可扩展错误处理逻辑,如发送通知、记录详细日志等
});

基本上,这段代码正在执行以下操作:

  1. 定义一组 "Capabilities" 能力值(参数),以便 Appium 知道您想自动执行哪种任务。 要自动执行的任务。
  2. 在内置的 Android 设置应用程序上启动 Appium 会话。
  3. 找到 "Battery"列表项并点击它。
  4. 停顿片刻,纯粹是为了观察自动化视觉效果。
  5. 结束 Appium 会话。

现在,通过 NPM 安装 webdriverio 软件包

npm i --save-dev webdriverio

2.启动模拟器 + 连 Appium

  • 开模拟器:比如用雷神模拟器,启动后看到安卓桌面。

记得开启ROOT权限和ADB调试

  • 查设备:命令行输 adb devices,看到模拟器设备名(如 emulator-5554 ),说明连好了。

如果显示有多个设备可使用-s 指定设备进行连接

  • 改代码里的 deviceName:把 capabilities 里的 deviceName 改成 adb devices 显示的名称(比如 emulator-5554 )。

  • 重启 Appium + 跑脚本:确保 Appium 开着,再执行 node test.js,就能在模拟器上跑自动化啦~

相关文章:

  • Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
  • Spring Boot 与 Kafka 的深度集成实践(一)
  • PHP:Web 开发的经典利器
  • 「混合开发」H5与原生App交互流程方案全面解析
  • Tomcat Jetty 和 UnderTow 的粗略对比
  • 动手学深度学习13.3. 目标检测和边界框-笔记练习(PyTorch)
  • nodejs安装
  • (Note)基于Pytorch手搓RNN参考
  • 轻量级关键点 blaze pose 2025
  • 旋量理论:刚体运动的几何描述与机器人应用
  • 统计学(第8版)——假设检验学习笔记(考试用)
  • 树突状细胞与肿瘤
  • MAZANOKE结合内网穿透技术实现跨地域图像优化服务的远程访问过程
  • 华为云上的K8S怎么使用对象存储配置pod文件持久化。
  • claude3.7高阶玩法,生成系统架构图,国内直接使用
  • centos 7 部署awstats 网站访问检测
  • AWS中国云的定时任务(AWS EventBridge+AWS Lambda)
  • HBase学习:通俗易懂的实例解析
  • AWS EKS 集群日志上报观测云实践
  • HTML(一)
  • 什么公司做网站最好/外贸是做什么的
  • 南昌市会做网站有哪几家/seo推广服务
  • 网站开发技术最新技术/下载百度app
  • 深圳市建设工程造价管理站官网/北京十大教育培训机构排名
  • 图书网站开发/百度指数查询入口
  • 大悟网站制作/保定seo排名外包