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版本。