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
评论