移动测试 - Appium 框架

Appium 是一个开源测试自动化框架,用于测试原生和混合应用以及移动 Web 应用。它使用 WebDriver 协议驱动 iOS 和 Android 应用程序。

Appium 的优势

  • 它是免费的,并且(大部分)是开源的。

  • 它有一个非常受支持且活跃的 Google 群组。

  • 它符合 Selenium 3 规范,因此应该是面向未来的。

  • 它同时支持 Android 和 iOS。

  • 它不需要在设备上安装任何东西 - 无需更改服务器或代码。

Appium 的缺点

  • 不支持智能等待。
  • 在 iOS 上,每台 Mac 一次只能执行一个测试。
  • 对手势的支持有限。
  • 支持有限适用于 Android < 4.1

如何使用 Appium

步骤 1 − 使用 Appium 的先决条件是 Java SDK(最低 1.6)。如果您的系统上没有安装 Java,请按照以下步骤操作。

  • Oracle JavaSE 下载 JDK 和 JRE>

  • 接受许可协议。

  • 安装 JDK 和 JRE。

  • 按照以下屏幕截图所示设置环境变量。

环境变量

第 2 步 −从 SDK 下载 Android Studio(由于文件大小,下载过程需要一些时间)。

  • 双击 exe 并运行安装程序。
  • 使用所有默认选项继续。
  • 设置 ANDROID_HOME。

步骤 3 − 安装 Android 图像和工具。

  • 单击 SDK Manager −
SDK Manager
  • 选择必要的软件包。例如,如果我们要为 Android 4.4.2 构建应用程序,则请确保在"工具"部分下选中以下软件包 −

    • Android SDK Tools rev 22.6.3
    • Android Platform-tools rev 19.0.1
    • Android SDK Build-tools rev 19.1

步骤 4 − 创建 Android 虚拟设备 −

  • 打开 Android Studio 并单击工具栏中的 AVD Manager。AVD 允许我们测试和运行我们的 Android 应用程序。

AVD Manager
  • 对 Nexus5 AVD 使用以下设置 −

    • 设备:Nexus 5 (4.95, 1080 x 1920; xxhdpi)

    • 目标:Google APIs x86 (Google Inc.) - API Level 19

    • 确保选择名称中带有 Google APIs 的目标。

    • CPU:Intel Atom (x86)

    • 选中使用主机 GPU 复选框

    • 单击确定。

  • 您现在应该看到您在 AVD 管理器中创建的 AVD,您可以在其中启动、删除它或创建另一个!

步骤 5 − 从 Appium 下载 Appium jar 文件

使用 Appium 测试应用

要使用 Appium 测试应用,请按照以下步骤 −

步骤 1 − 在 Android Studio 中创建一个名为"RobotiumTest"的测试项目。

Robotium Test

选择所有默认选项,直到到达主页。

步骤 2 −将 Appium jar 添加到您的项目中。单击 Project → App → 复制 lib 中的所有 jar。选择复制的 jar(Selenium、Java 客户端和 Junit Jar 除外),然后右键单击它并单击"添加为库"。

步骤 3 − 单击应用程序中的 build.gradle。您将看到已添加的所有库,如以下屏幕截图所示。

Build Gradle

步骤 4 − 现在创建一个 Java 类,如下所示 −

AppiumDriver driver;
@Before

public void testCaseSetup()throws Exception {
   //service.start();
   //reader.readFile();
	
   DesiredCapabilities cap = new DesiredCapabilities();
	
   cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
   cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
   cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
   cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
	
   driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}

@Test
public void testcase1()throws Exception {
   driver.findElementByID("Example").click();
   Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}

@After
public void testCaseTearDown() {
   driver.quit();
}

步骤 5 − 运行测试用例。

  • 单击构建变体并选择单元测试。
  • 使用特定端口"4444"启动 Appium 服务器。
    • 从此处下载适用于 Windows 的 Appium。
    • 双击 .exe 并安装 Appium。
    • 单击图标以调出 UI。
    • 如有必要,更改端口,如下所示。
    • 单击"播放"按钮启动服务器。
运行测试用例
  • 连接设备并开启 USB 调试或启动模拟器。
  • 右键单击测试类并单击"运行"。