使用 NativeDriver 自动化测试原生移动应用

  • Abel Avram
  • 崔康

2011 年 6 月 23 日

话题:移动架构Android语言 & 开发

NativeDriver支持 Android 和 iOS 平台上原生应用的自动化测试。它实现了WebDriver API

Google 创建了NativeDriver,该工具是WebDriver API的一种实现,使用原生 UI 而不是浏览器 UI(Selenium)的自动化测试框架,用于运行应用的功能测试。Google 决定重用 WebDriver API 用于原生应用而不是创建全新的接口是因为两者之间有许多相似点——它们都控制相同的 UI 操作如点击、输入、读取文本、切换窗口,而且熟悉 WebDriver 的用户不需要学习另一种 API 就可以立即开始使用 NativeDriver。

NativeDriver 可用于在原生应用中执行自动化 UI 命令以测试应用在不同情况下的行为。在 Android 平台上,NativeDriver 使用Instrumentation在应用内部的功能循环之外控制各种 OS 组件。简单的 NativeDriver 例子如下图所示:

AndroidNativeDriver driver = new AndroidNativeDriverBuilder().withDefaultServer().build();
driver.startActivity("com.google.android.maps.MapsActivity");
// Open the Places activity by clicking the places button (to the right of the search box)
AndroidNativeDriver btn= driver.findElement(By.id("btn_header_places"));
btn.click();
// Dismiss the Places window. Equivalent to pressing the Android Back button
driver.navigate().back();
// Rotate the device to show the UI in landscape mode
driver.rotate(ScreenOrientation.LANDSCAPE);

目前只有 Android 版本,但是 Google 承诺很快发布 iOS 版本。同时,Windows 版本处在原型开发阶段

除了这个工具,Google 还发布了用于移动浏览器的 WebDriver,支持运行在 Android、iOS 平台上的 Web 应用测试,未来还有Blackberry版本。 

查看英文原文Native Mobile Apps Test Automation with NativeDriver

移动架构Android语言 & 开发