Web自动化测试之WebDriver

发表于:2010-3-22 17:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:aqingsao(Javaeye)    来源:51Testing软件测试网采编

  对Web进行自动化测试,我们首先想象一个简单的场景,来看看需要测试哪些东西:

  a. 元素定位:无论使用XPath, Dom还是CSS,需要简单方便的API定位元素,可以延时等待元素出现;

  b. 交互操作:包括文本框、单选框、多选框、按钮、表格单元的输入或者点击;

  c. 页面操作:页面切换和关闭、对话框切换和关闭;

  d. 其他要求:对主流浏览器测试的支持、对JavaScript的支持等。

  说起Web自动化测试,首先想到的就是Selenium。其实WebDriver就是基于Selenium的一个自动化测试类库,但它不再是运行在浏览器内的JS程序,而是自己可以控制浏览器。旨在改进Selenium1.0中出现的诸多问题,并且提供了非常易用、可读性很强的API。

  1. 简单例子

  我们通过一个例子来初步认识一下WebDriver。简单起见,我们通过WebDriver连接到google网站上,通过关键词进行搜索,并且验证搜索结果。

  代码如下:

  Java代码

 package selenium; 
  
 import org.junit.Before; 
 import org.junit.Test; 
 import org.openqa.selenium.By; 
 import org.openqa.selenium.WebDriver; 
 import org.openqa.selenium.WebElement; 
 import org.openqa.selenium.htmlunit.HtmlUnitDriver; 
  
 import static junit.framework.Assert.assertNotNull; 
  
 public class WebDriverTest { 
     private WebDriver page; 
  
     @Before 
     public void before() { 
         page = new HtmlUnitDriver(); 
     } 
  
     @Test 
     public void testHasAnImageSearchPage() throws Exception { 
         page.get("http://www.google.cn"); 
  
         WebElement searchBox = page.findElement(By.name("q")); 
         searchBox.sendKeys("JavaEye"); 
  
         WebElement subBtn = page.findElement(By.name("btnG")); 
         subBtn.submit(); 
  
         WebElement result = page.findElement(By.linkText("http://www.javaeye.com")); 
         assertNotNull(result); 
     } 
 } 

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号