Android WebDriver 浏览器自动测试工具介绍_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android WebDriver 浏览器自动测试工具介绍

Android WebDriver 浏览器自动测试工具介绍

 2014/3/27 15:19:28  xiaochao1234  博客园  我要评论(0)
  • 摘要:SeleniumWebDriver是浏览器自动测试工具,提供轻量级和优雅的方式来测试web应用。SeleniumWebDriver作为AndroidSDKextra,支持Android2.3(Gb)及向前版本。WebDriver是端对端的测试,可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。这些测试作为Androidtestsproject的一部分,基于Junit。可以从Eclipse加载或者是通过命令行
  • 标签:android Web 浏览 工具 测试 浏览器 测试工具

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

 

1 class="keyword">public class SimpleAppActivity extends Activity { 2     @Override 3     public void onCreate(Bundle savedInstanceState) { 4         super.onCreate(savedInstanceState); 5     } 6 }

 

 

创建Android 测试项目。WebDriver将创建WebView,在主Activity中自动设置布局。下面是在Android 上打开Google首页,查询“洛杉矶天气”。测试验证Google返回搜索结果,首个结果返回给出的答案。

 

01 public class SimpleGoogleTest extendsActivityInstrumentationTestCase2<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 }

 

Activity会在屏幕上显示WebView,允许你看到你的web应用,一旦测试代码执行。

下面是交互测试。

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());

 

发现一个bug,你可以轻易的截屏,帮助你调试。

 

1 File tempFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
上一篇: 针对 Node.js 初学者的入门资源汇总 下一篇: 没有下一篇了!
发表评论
用户名: 匿名