APPIUM 教程 Android & iOS 移动应用程序测试
什么是 Appium?
APPIUM是一个免费分发的开源移动应用程序UI 测试 框架。 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 有线协议来初始化会话。因此,在初始化 Appium 服务器,系统上必须预先安装 Node.js。
- 在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 Appium 已下载并安装,然后在我们的机器上设置一个公开 REST API 的服务器。
- 它接收来自客户端的连接和命令请求,并在移动设备上执行该命令(Android /iOS)。
- 它以 HTTP 响应进行响应。同样,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。框架如下:
- 适用于 iOS 的 Apple 乐器(乐器仅适用于 Xcode 3.0 或更高版本(OS X v10.5 及更高版本)
- Google UIAutomator Android API 级别 16 或更高
- Selendroid Android API 级别 15 或更低
使用 APPIUM 的先决条件
- 安装ANDROID SDK(Studio)[链接]-
- 安装 JDK(Java 开发套件)[链接]
- 安装 Eclipse [链接]
- 安装 TestNg Eclipse [链接]
- 安装 Selenium 服务器 JAR [链接]
- Appium 客户端库[链接]
- Google Play 上的 APK 应用信息 [链接]
- js(非必需 - 无论何时 Appium 服务器安装后,默认情况下会附带“Node.exe”和 NPM。它包含在当前版本的 Appium.)
- 安装 Appium 桌面版
安装 Appium 桌面版
Appium Studio 是一个开源的 GUI 应用程序,可以安装 Appium 服务器。它附带了安装和使用所需的所有先决条件 Appium 服务器。它还有一个检查器,用于获取应用程序的基本信息。它附带一个记录器,用于创建样板代码来自动化您的移动应用程序。
步骤1) 在MyCAD中点击 软件更新 http://appium.io/ 然后点击下载 Appium.
步骤2) 对于 Windows,选择 exe 文件并下载。文件大约 162MB,下载时间取决于您的网速。
步骤3) 单击下载的 exe。
步骤4) 上 Windows 机器,无需安装 Appium。它直接从 exe 运行。单击 exe 后,您将在几分钟内看到以下图像。
对于 Mac,你需要安装 dmg
步骤5) 接下来,您将看到服务器启动窗口。它填充了您可以更改的默认主机和端口选项。它还提到了 Appium 正在使用。
步骤6) 单击“启动服务器”按钮后,将在指定的主机和端口上启动新服务器。显示服务器日志输出。
步骤7) 单击新建会话窗口.
步骤8) 您可以输入所需功能并开始会话。
APPIUM 检查员
像 Selenium IDE 录制和回放工具, Appium 有一个“检查器”来记录和播放。它通过检查 DOM 来记录和播放本机应用程序行为,并以任何所需语言生成测试脚本。但是,目前不支持 Appium 检查员 Microsoft Windows。在 Windows,它启动了 Appium 服务器无法检查元素。不过,UIAutomator 查看器可以用作检查元素的选项。
开始的步骤 Appium Mac 机器上的检查器:-
步骤1) 下载并开始您的 Appium 服务器的默认 IP 地址为 0.0.0.0,端口为 4725。
- 选择本地的源文件或.app文件进行测试。
- 选中“应用程序路径”复选框以启用“选择”按钮。
步骤2)现在,单击“选择”按钮将可以选择从本地驱动器浏览并选择测试文件。
步骤3) 在 Mac 机器上启动模拟器。
步骤4) 点击右上角的“启动”按钮,这将启用蓝色图标。再次点击此蓝色图标,它将打开 Appium 检查员和模拟器与预先选择的应用程序。
步骤5)– 启动您的 Appium 检查器将按列结构显示元素层次结构。此外,用户可以使用“点击”、“滑动”等按钮执行操作。
步骤6) 单击“停止”按钮停止录制。
附 Android 模拟器 Appium
步骤1) 安装 Android 系统中的 SDK。
进入控制面板 >> 系统和安全 >> 系统,并从左侧面板单击“高级系统设置”。从弹出的“系统属性”窗口中,单击“高级”选项卡,然后单击“环境变量”按钮。
步骤2) 现在,从弹出的“环境变量”窗口中,双击“路径”并设置指向 SDK 目录的 ANDROID_HOME 变量。在路径中附加整个 SDK 文件夹路径。
例如——
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
步骤3) 开始您的 Android 模拟器或任何附加任何 Android 将设备连接到您的系统(确保您已 Android 在您的 Android 设备。要检查调试选项,请前往设备设置 >> 开发者选项 >> 勾选“调试选项”)。
步骤4) 打开命令提示符并导航到您的 Android SDK 的 \platform-tools\ 目录(例如 D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools)。
步骤5)– 运行“adb devices”命令。您可以在命令提示符窗口中看到已连接的设备列表。(在 CMD 中输入“>adb devices”- 此命令将列出已连接的模拟器实例。例如:adb –s emulator-5554 install )
步骤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 图书馆和 测试 在那个新项目里面。
步骤4) 现在为“Calculator.app”创建一个小测试程序来将两个数字相加。
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.CapabilityType; 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 app-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"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using 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 edit box of the calculator by using By.tagName() 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
误差 | 故障排除步骤 |
---|---|
错误:- 需要以下所需功能,但未提供:设备名称、平台名称 | 在 APPIUM 脚本中添加所需功能:设备名称、平台名称。例如:capabilities.setCapability(“deviceName”,”Emulator”); capabilities.setCapability(“platformName”,”Android“); |
错误:无法找到 adb。请使用 Android SDK 根目录路径。 | 您可能需要在系统‘环境变量’的‘Path’栏中设置SDK根目录路径 |
错误:org.openqa.selenium.SessionNotCreatedException:无法创建新会话。 | 您需要设置正确的应用程序路径并重新启动 Appium 服务器。 |
如何查找 DOM 元素或 XPath的 在移动应用程序中? | 使用“UIAutomatorviewer”查找 DOM 元素 Android 应用程序。 |