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

发布于:2025-06-11 ⋅ 阅读:(26) ⋅ 点赞:(0)

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,就能在模拟器上跑自动化啦~

网站公告

今日签到

点亮在社区的每一天
去签到