Android WebDriver 浏览器自动测试工具介绍
2014-03-28 08:45
393 查看
Selenium WebDriver 是浏览器自动测试工具,提供轻量级和优雅的方式来测试web应用。Selenium WebDriver作为Android SDK extra,支持Android 2.3(Gb)及向前版本。
WebDriver是端对端的测试,可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。这些测试作为Android tests project的一部分,基于Junit。可以从Eclipse加载或者是通过命令行。WebDriver可以运行在手机、平板、平板模拟器或者真实的设备上。一旦启动,WebDriver打开一个WebView配置类似Android浏览器,并运行测试。
WebDriver 是个Android SDK extra ,可以通过这些指导来安装。并在Slenium站点上也有用户指南。
附简单示例,如下:
创建Android 项目,包含无布局的空的Activity。
创建Android 测试项目。WebDriver将创建WebView,在主Activity中自动设置布局。下面是在Android 上打开Google首页,查询“洛杉矶天气”。测试验证Google返回搜索结果,首个结果返回给出的答案。
该Activity会在屏幕上显示WebView,允许你看到你的web应用,一旦测试代码执行。
下面是交互测试。
WebDriver支持创建高级手势与设备交互,该示例是 水平轻弹扔掉一张图片,保证库中下一张图片显示。
旋转屏幕,保证屏幕显示的图片尺寸调整大小。
发现一个bug,你可以轻易的截屏,帮助你调试。
WebDriver是端对端的测试,可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。这些测试作为Android tests project的一部分,基于Junit。可以从Eclipse加载或者是通过命令行。WebDriver可以运行在手机、平板、平板模拟器或者真实的设备上。一旦启动,WebDriver打开一个WebView配置类似Android浏览器,并运行测试。
WebDriver 是个Android SDK extra ,可以通过这些指导来安装。并在Slenium站点上也有用户指南。
附简单示例,如下:
创建Android 项目,包含无布局的空的Activity。
1 | public class SimpleAppActivity extends Activity { |
2 | @Override |
3 | public void onCreate(Bundle savedInstanceState) { |
4 | super .onCreate(savedInstanceState); |
5 | } |
6 | } |
01 | public class SimpleGoogleTest extends ActivityInstrumentationTestCase2<SimpleAppActivity> { |
02 |
03 | public void testGoogleShouldWork() { |
04 | // Create a WebDriver instance with the activity in which we want the test to run |
05 | WebDriver driver = new AndroidDriver(getActivity()); |
06 | // Let’s open a web page |
07 | driver.get( "http://www.google.com" ); |
08 |
09 | // Lookup for the search box by its name |
10 | WebElement searchBox = driver.findElement(By.name( "q" )); |
11 |
12 | // Enter a search query and submit |
13 | searchBox.sendKeys( "weather in san francisco" ); |
14 | searchBox.submit(); |
15 |
16 | // Making sure that Google shows 11 results |
17 | WebElement resultSection = driver.findElement(By.id( "ires" )); |
18 | List<WebElement> searchResults = resultSection.findElements(By.tagName( "li" )); |
19 | assertEquals( 11 , searchResults.size()); |
20 |
21 | // Let’s ensure that the first result shown is the weather widget |
22 | WebElement weatherWidget = searchResults.get( 0 ); |
23 | assertTrue(weatherWidget.getText().contains( "Weather for San Francisco, CA" )); |
24 | } |
25 | } |
下面是交互测试。
WebDriver支持创建高级手势与设备交互,该示例是 水平轻弹扔掉一张图片,保证库中下一张图片显示。
1 | WebElement toFlick = driver.findElement(By.id( "image" )); |
2 | // 400 pixels left at normal speed |
3 | Action flick = getBuilder(driver).flick(toFlick, 0 , - 400 , FlickAction.SPEED_NORMAL) |
4 | .build(); |
5 | flick.perform(); |
6 | WebElement secondImage = driver.findElement(“secondImage”); |
7 | assertTrue(secondImage.isDisplayed()); |
1 | assertEquals(landscapeSize, secondImage.getSize()) |
2 | ((Rotatable) driver).rotate(ScreenOrientation.PORTRAIT); |
3 | assertEquals(portraitSize, secondImage.getSize()); |
1 | File tempFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); |
相关文章推荐
- Android WebDriver 浏览器自动测试工具介绍
- Web网站的性能测试工具介绍
- Android自动测试之MonkeyRunner介绍
- Android自动测试之monkeyrunner工具
- android 性能测试工具Emmagee介绍
- 十一种Web网站程序性能测试工具介绍
- Android自动测试工具MonkeyRunner之一:基础知识
- Android自动测试之monkeyrunner工具
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
- 一次开发,随处测试:Mozilla推出Web跨浏览器调试工具
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
- Android性能测试工具Emmagee介绍
- Android自动测试之monkeyrunner工具(二)
- web压力测试工具介绍
- 解决Selenium Webdriver执行测试时,每个测试方法都打开一个浏览器窗口的问题
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
- Android自动测试之monkeyrunner工具
- 用Selenium WebDriver+Grid2实现浏览器端性能测试
- Android自动测试之monkeyrunner工具