编写测试 (JS)
要使用 JavaScript (Node.js) 编写 Appium 测试,我们需要选择一个与 Appium 兼容的客户端库。维护得最好的库,也是 Appium 团队推荐使用的库是 WebdriverIO,所以让我们使用它。由于我们已经安装了 Appium,因此我们知道我们的 Node 和 NPM 要求已经满足。所以,只需在你的计算机上的某个位置创建一个新的项目目录,然后在其中初始化一个新的 Node.js 项目
在提示中输入什么内容并不重要,只要最终得到一个有效的 package.json
即可。
现在,通过 NPM 安装 webdriverio
包
完成后,你的 package.json
文件应该包含以下部分
现在是编写测试本身的时候了。创建一个名为 test.js
的新文件,内容如下
test.js
const {remote} = require('webdriverio');
const capabilities = {
platformName: 'Android',
'appium:automationName': 'UiAutomator2',
'appium:deviceName': 'Android',
'appium:appPackage': 'com.android.settings',
'appium:appActivity': '.Settings',
};
const wdOpts = {
hostname: process.env.APPIUM_HOST || 'localhost',
port: parseInt(process.env.APPIUM_PORT, 10) || 4723,
logLevel: 'info',
capabilities,
};
async function runTest() {
const driver = await remote(wdOpts);
try {
const batteryItem = await driver.$('//*[@text="Battery"]');
await batteryItem.click();
} finally {
await driver.pause(1000);
await driver.deleteSession();
}
}
runTest().catch(console.error);
注意
本指南的范围不包括对 WebdriverIO 客户端库或此处发生的所有事情进行完整的概述,因此我们将暂时不详细解释代码本身。你可能需要特别阅读 Appium 的 功能,以及熟悉优秀的 WebdriverIO 文档,以更全面地了解你看到的各种 API 命令及其用途。
注意
示例代码可在 GitHub Appium 存储库 中找到。
基本上,这段代码执行以下操作
- 定义一组要发送到 Appium 服务器的“功能”(参数),以便 Appium 知道你想要自动化什么。
- 在内置的 Android 设置应用程序上启动 Appium 会话。
- 找到“电池”列表项并点击它。
- 暂停片刻,纯粹是为了视觉效果。
- 结束 Appium 会话。
就是这样!让我们试一试。在运行测试之前,请确保在另一个终端会话中运行了 Appium 服务器,否则你将收到有关无法连接到服务器的错误。然后,你可以执行脚本
如果一切顺利,你将看到设置应用程序打开并导航到“电池”视图,然后应用程序再次关闭。
恭喜你,你已经开始了你的 Appium 之旅!继续阅读以了解一些 下一步,以探索更多内容。