Appium 初学者教程
⚡ 智能摘要
Appium 教程 Android iOS 移动应用测试引入了一个开源的 UI 自动化框架,该框架使用单一工具即可驱动 iOS 和 iOS 平台上的原生应用、混合应用和 Web 应用。 Selenium兼容的 API。本指南解释了如何 Appium 工作原理、安装步骤、检查器、模拟器附件以及 Java 计算器测试用例。
什么是 Appium?
Appium 是一款免费分发的开源移动应用程序用户界面。 测试 框架。 Appium 它支持原生应用、混合应用和 Web 应用测试,并支持在物理设备、模拟器和仿真器上进行自动化测试。它提供跨平台应用测试——一个 API 即可同时用于这两种平台。 Android 以及 iOS 测试脚本。
Appium 具有 没有 对移动设备操作系统的依赖。该框架封装并转换 Selenium 将 WebDriver 命令导入 UIAutomation (iOS) 或 UIAutomator (Android) 命令取决于设备类型,而不是底层操作系统版本。
Appium 支持所有语言 Selenium 客户端库 — Java,Objective-C, JavaScript 使用 Node.js、PHP、Ruby Python, C#等等。
如何 Appium 工作?
- Appium 是一个用 HTTP 服务器编写的服务器 Node.js 驱动 iOS 和平台的平台 Android 使用 WebDriver JSON 协议的会话。启动前,系统必须预先安装 Node.js。 Appium 服务器。
- 日期 Appium 下载并安装完成后,在本地计算机上设置一个服务器,该服务器公开 REST API。
- 服务器接受来自客户端的连接和命令请求,并在移动设备上执行命令(Android 或 iOS)。
- 它会返回 HTTP 响应。要执行请求, Appium 调用原生移动自动化框架来驱动应用程序用户界面:
- 适用于 iOS 的 Apple 乐器(乐器仅适用于 Xcode 3.0 或更高版本,以及 OS X v10.5 或更高版本)。
- Google UIAutomator Android API 级别 16 或更高。
- Selendroid HPMC胶囊 Android API等级15或更低。
使用前提条件 Appium
- 安装 Android 软件开发套件(SDK) (工作室) [链接].
- 安装 JDK (Java 开发套件)[链接].
- 安装 Eclipse [链接].
- 安装 TestNG HPMC胶囊 Eclipse [链接].
- 安装 Selenium 服务器 JAR [链接].
- Appium 客户端库 [链接].
- APK应用信息 on Google 玩 [链接].
- Node.js (并非严格要求——当 Appium 服务器已安装,Node.exe 和 NPM 已与当前版本捆绑在一起。 Appium 版)。
- 安装 Appium 桌面.
安装 Appium 桌面
Appium Desktop 是一个开源的 GUI 应用程序,它可以安装和运行 Appium 服务器。它捆绑了使用所需的所有先决条件。 Appium 服务器端,它自带一个检查器,用于显示有关应用程序的基本信息,以及一个录制器,用于生成自动化移动应用程序的样板代码。
步骤1) 在MyCAD中点击 软件更新 http://appium.io/ 点击下载 Appium.
步骤2) 对于 Windows选择 .exe 文件并下载。该文件大小约为 162 MB,下载时间取决于您的网速。
步骤3) 点击下载的.exe文件。
步骤4) 上 Windows 这台机器没有安装向导。 Appium 直接运行.exe文件。点击.exe文件后,会出现以下启动画面,持续几分钟。
对于 macOS你需要安装 .dmg 文件。
步骤5) 服务器启动窗口打开。它会填充默认主机和端口(您可以更改它们),并显示以下内容: Appium 正在使用的版本。
步骤6) 点击 启动服务器在指定的主机和端口上启动一个新服务器,服务器日志输出显示在控制台中。
步骤7) 点击 新的会话窗口.
步骤8) 输入所需功能并开始会话。
Appium 检查员
类似于 Selenium IDE录制和回放工具 Appium 有一个 检查员 用于录制和回放测试。它通过检查 DOM 来录制和回放原生应用程序的行为,并生成任何受支持语言的测试脚本。请注意: Appium 检查器不受支持 Microsoft Windows: 上 Windows 它启动了 Appium 服务器无法检查元素。建议使用 UIAutomator Viewer 来检查元素。 Windows.
开始步骤 Appium Mac 电脑上的 Inspector:
步骤1) 下载并开始您的 Appium 服务器使用默认 IP 地址 0.0.0.0 和端口 4725。
- 从本地驱动器中选择源文件或 .app 文件进行测试。
- 选中“应用路径”复选框以启用“选择”按钮。
步骤2) 点击“选择”按钮,浏览并选择本地驱动器中的测试文件。
步骤3) 在Mac电脑上启动iOS模拟器。
步骤4) 点击 正式上线 右上角有一个按钮。点击此按钮会显示一个蓝色图标——点击该图标即可打开。 Appium 检查器和模拟器,以及预选的应用程序。
步骤5) 一经推出, Appium 检查器以列式结构显示元素层级。用户还可以执行点击、滑动等类似手势操作。
步骤6) 点击 Stop 停止 结束录制。
附加 Android 模拟器 Appium
步骤1) 安装 Android 系统上的SDK。
打开控制面板 > 系统和安全 > 系统。在左侧面板中,单击 高级系统设置在“系统属性”弹出窗口中,单击 先进的 选项卡然后 环境变量.
步骤2) 在“环境变量”弹出窗口中,双击 途径 并设置 ANDROID_HOME 指向 SDK 目录的变量。请附加完整的 SDK 文件夹路径。例如:
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
步骤3) 开始 Android 模拟器,或连接一个 Android 将设备连接到您的系统。请确保已在设备上启用 USB 调试。 Android 设备:进入设备设置 > 开发者选项 > 启用“USB调试”。
步骤4) 打开命令提示符并导航到 Android SDK的 \platform-tools\ 目录(例如, D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
步骤5) 运行 adb devices 命令。您连接的设备将显示在命令提示符窗口中。完整格式为: adb -s emulator-5554 install <Location of .apk file>.
步骤6) 运行 adb start-server 命令。ADB 服务器启动,并且 Appium 会用它来向您发送命令 Android 。
步骤7) 导航到 Appium 在您的系统上找到该目录并开始 Appium 通过点击 Appium.exe 文件。
步骤8) 请勿更改默认 IP 地址或端口号。点击 正式上线。 你的 Appium 控制台从 127.0.0.1:4723 开始,如下所示。
步骤9) 点击 开始。 该 Appium 服务器现在正在您的系统上运行。
Appium 原生测试用例 Android 应用程序(计算器)
步骤1) 下载ADT Eclipse 插件或单独获取 ADT 软件包 开始.
步骤2) 可选 Eclipse 创建一个新的项目 > 包 > 类。
步骤3) 导入 Selenium 图书馆和 TestNG 投入到新项目中。
步骤4) 编写一个小型测试程序 计算器应用 计算两个数之和。
package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;
public class Calculator {
WebDriver driver;
@BeforeClass
public void setUp() throws MalformedURLException {
// Set up desired capabilities and pass the Android app activity and package to Appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("BROWSER_NAME", "Android");
capabilities.setCapability("VERSION", "4.4.2");
capabilities.setCapability("deviceName", "Emulator");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
// Package name of the app (get it from an APK info app)
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
// Launcher activity of the app (get it from an APK info app)
// Create a RemoteWebDriver instance and connect to the Appium server
// Launches the Calculator app on the Android device using the capabilities above
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void testCal() throws Exception {
// Locate the keys on the calculator by name
WebElement two = driver.findElement(By.name("2"));
two.click();
WebElement plus = driver.findElement(By.name("+"));
plus.click();
WebElement four = driver.findElement(By.name("4"));
four.click();
WebElement equalTo = driver.findElement(By.name("="));
equalTo.click();
// Locate the calculator output by tag name
WebElement results = driver.findElement(By.tagName("EditText"));
// Check the calculated value on the edit box
assert results.getText().equals("6") :
"Actual value is : " + results.getText() + " did not match with expected value: 6";
}
@AfterClass
public void teardown() {
// Close the app
driver.quit();
}
}
开始 Appium 服务器和 Android 从 AVD 管理器中启动模拟器,然后单击“运行”> TestNG该程序在选定的模拟器上运行 Calculator.app,并将结果显示在屏幕上。 Eclipse 使用控制台 TestNG 框架。
限制 Appium
- Appium 不支持对以下内容进行测试 Android 版本低于 4.2。
- 对混合应用测试的支持有限——例如,无法测试在 Web 视图和原生视图之间双向切换的操作。
- 不支持运行 Appium 检查员 Microsoft Windows.
常见错误及故障排除步骤 Appium
| 误差 | 故障排除步骤 |
|---|---|
| 错误:需要以下功能,但未提供:deviceName、platformName | 添加所需功能 deviceName 和 platformName 以及 Appium 脚本。例如: capabilities.setCapability("deviceName", "Emulator"); 和 capabilities.setCapability("platformName", "Android"); |
| 错误:无法找到 adb。请使用 Android SDK 根目录路径。 | 在系统环境变量的 Path 条目下设置 SDK 根目录。 |
| 错误:org.openqa.selenium.SessionNotCreatedException:无法创建新会话。 | 设置正确的应用程序路径并重启。 Appium 服务器。 |
| 如何查找 DOM 元素或 XPath的 在移动应用程序中? | 使用 UIAutomator Viewer 检查 DOM 元素 Android 领域广泛应用,提供了卓越的解决方案。 |
















