首先入门技术选型,尝试appium跨平台多语言且易于掌握webDriver
在自动化测试领域,Appium 和 UiAutomator 都是非常流行的工具,但它们在使用场景和受众上有所不同。选择哪一个取决于你的具体需求、测试目标以及技术栈。下面是关于两者流行度的一些考虑因素:
Appium
- 跨平台支持:Appium 支持 iOS、Android 和 Windows 应用的自动化测试,这使得它在需要跨平台测试解决方案的团队中非常受欢迎。
- 语言灵活性:Appium 允许使用多种编程语言编写测试脚本,包括 Java、Python、Ruby、JavaScript 等,这为不同背景的开发者和测试人员提供了便利。
- WebDriver 协议:Appium 使用了标准的 WebDriver 协议,这意味着如果你熟悉 Selenium 或其他基于 WebDriver 的测试框架,你会发现 Appium 很容易上手。
- 社区和生态系统:Appium 享有一个活跃的社区和广泛的生态系统,提供了大量的资源、文档和第三方集成。
UiAutomator
- 仅限 Android:UiAutomator 专门用于 Android 应用的 UI 测试,它是一个强大的工具,允许直接访问 Android 设备上的 UI 组件,进行自动化测试。
- 更接近底层:UiAutomator 允许测试应用在没有源代码的情况下运行,这对于测试第三方应用或黑盒测试非常有用。
- Google 支持:作为 Google 官方提供的一个库,UiAutomator 与 Android 开发工具链紧密集成,为 Android 应用的自动化测试提供了良好的支持。
- 仅支持 Java:UiAutomator 测试脚本主要使用 Java 编写,这可能会限制使用其他编程语言的团队。
流行度对比
- 广泛性:Appium 在更广泛的场景下更受欢迎,因为它支持跨平台测试和多种编程语言。
- 专业性:对于专注于 Android 平台的开发者或团队,UiAutomator 也非常流行,尤其是当涉及到需要深度集成和利用 Android 平台特性进行测试时。
综上所述,Appium 因其跨平台能力和灵活性在全球范围内可能更加流行,但 UiAutomator 在 Android 应用测试领域依然占有重要地位。你的选择应基于项目需求、团队技能和测试目标。
从零开始在 Windows 电脑上安装并运行 Appium 以测试 Android 应用涉及到几个步骤,包括安装必要的软件和配置环境。下面是一个简化的步骤指南:
1. 安装 Java Development Kit (JDK)
- 下载并安装最新版的 JDK(Java Development Kit)。
- 设置环境变量:
- 在系统环境变量中添加
JAVA_HOME
,指向 JDK 安装目录。 - 将
%JAVA_HOME%\bin
添加到系统环境变量的Path
变量中。
- 在系统环境变量中添加
2. 安装 Android Studio 和 Android SDK
- 从 Android Studio 官网 下载并安装 Android Studio。
- 安装过程中选择 “Standard” 安装类型,这将自动安装 Android SDK。
- 完成安装后,打开 Android Studio 设置(Preferences),在 SDK Manager 中确认或安装你需要的 SDK Platforms(至少一个 Android 平台)和 SDK Tools(包括 Android SDK Platform-Tools 和 Android SDK Build-Tools)。
- 设置环境变量:
- 添加
ANDROID_HOME
环境变量,指向你的 Android SDK 安装目录,通常位于C:\Users\<Your-Username>\AppData\Local\Android\Sdk
。 - 将
%ANDROID_HOME%\platform-tools
和%ANDROID_HOME%\tools
添加到系统环境变量的Path
变量中。
- 添加
3. 安装 Node.js 和 NPM
- 从 Node.js 官网 下载并安装最新版的 Node.js。
- 安装完成后,使用命令行运行
node -v
和npm -v
来检查 Node.js 和 NPM 是否正确安装。
4. 安装 Appium
- 使用 NPM 安装 Appium,打开命令行工具并运行:Copy code
npm install -g appium
- (可选)安装 Appium Desktop,这是一个 Appium 的 GUI 版本,可以从 Appium 官网 下载。
5. 安装 Appium Doctor
安装 Appium Doctor 来验证 Appium 的安装和配置是否正确。在命令行中运行:
Copy codenpm install -g appium-doctor
运行 Appium Doctor 并解决任何问题:
Copy codeappium-doctor
确保检查项都通过,特别是关于 Android 和 Java 的部分。
6. 连接 Android 设备
- 开启 Android 设备的开发者模式和 USB 调试。
- 使用 USB 数据线连接设备到电脑。
- 在命令行中运行
adb devices
来检查设备是否被正确识别。
7. 运行 Appium 服务器
- 在命令行中运行
appium
启动 Appium 服务器。 - 使用 Appium 客户端(代码库或 Appium Desktop)连接到 Appium 服务器,并开始编写和运行测试脚本。
8. 编写测试脚本
使用支持的编程语言(如 Java, Python)编写测试脚本,并使用 Appium 的 WebDriver API 来控制 Android 设备上的应用。
这是一个基础的安装和配置指南,根据你的具体需求和开发环境,可能还需要进行一些额外的配置。安装过程中如果遇到任何具体的错误或问题,建议参考 Appium 的官方文档或搜索相关的解决方案。
安装node.js和npm
npm报版本与node.js不匹配问题及解决https://www.jb51.net/javascript/290329muk.htm如何利用adb查询参数
确定 deviceName
、appPackage
和 appActivity
的具体值是使用 Appium 进行 Android 应用自动化测试的重要步骤。下面将详细介绍如何获取这些信息:
1. 获取 deviceName
deviceName
可以是任意字符串,用于在测试脚本中标识设备,但为了确保兼容性,最好使用真实设备的名称或 Android Emulator。
要获取连接到电脑的 Android 设备列表(包括实体设备和模拟器),可以使用 adb devices
命令:adb devices
这将列出所有已连接设备的设备 ID。任一设备 ID 都可以作为 deviceName
的值。
2. 获取 appPackage
和 appActivity
appPackage
是应用的唯一标识符,而 appActivity
是应用启动时首先打开的活动(Activity)。
通过已安装应用获取
如果你的应用已经安装在设备或模拟器上,可以使用以下 adb
命令找到 appPackage
和 appActivity
:
bash
adb shell dumpsys window | find "mCurrentFocus"
对于 macOS 或 Linux:
adb shell dumpsys window | grep mCurrentFocus
这个命令会输出当前获得焦点的 Activity,格式通常为 PackageName/ActivityName
。其中,PackageName
就是 appPackage
,ActivityName
是 appActivity
。
通过 APK 文件获取
如果你有 APK 文件,可以使用 aapt
工具(Android SDK 的一部分)来获取这些信息。首先,确保将 aapt
所在的目录添加到你的环境变量中,这通常是在 <Android SDK路径>/build-tools/<版本号>/
下。
然后,运行以下命令:
aapt dump badging <APK文件路径> | find "package: name"
aapt dump badging <APK文件路径> | find "launchable-activity: name"
对于 macOS 或 Linux,使用 grep
替代 find
:
aapt dump badging <APK文件路径> | grep "package: name"
aapt dump badging <APK文件路径> | grep "launchable-activity: name"
注意事项
- 确保你的设备已开启 USB 调试模式,并在首次连接时授权电脑访问。
- 如果你使用的是模拟器,
deviceName
可以是模拟器的名称。 appPackage
和appActivity
对于启动应用至关重要,确保它们的准确无误。
通过上述方法,你应该能够获得所需的信息来配置 Appium 的测试脚本。如果在获取这些信息时遇到困难,确保你已正确安装 Android SDK 并设置了环境变量。