自从推出了selenium+webDriver,对于学习UI层面的自动化测试有了很大的便利,学习曲线和难度都有所降低,至少入门就相对简单了很多,基本上懂点java开发,对html结构有所了解的人都应该比较容易入门。
废话少说,现在就开始。不管是学习还是实用,第一步肯定是先搭环境。
环境需要用到的东西如下:
1、开发工具,如Eclipse、myeclipse等,安装过程和配置自行查找;
2、需要引入的主要包:selenium-java-2.42.2.jar
3、测试驱动要用的,比如是junit或者testng的包,下面很多地方没有特别说明的话,用的就是testng的方式方法进行测试驱动;
4、浏览器工具,主要可以使用火狐浏览器,一定要装上firebugs和check xpath这两个组件或工具;
这样,其实一个测试开发的环境就准备好了。
之后,举个例子说明一下,大致的使用,以一个业务系统的登录框在本机浏览器测试为例:
首先,要初始化一个浏览器驱动,这部分可以放在@BeforClass代码中。
private WebDriver webDriver; @BeforClass public void setUp(){ webDriver = new FirefoxDriver(); //初始化一个火狐浏览器 webDriver.manage().window().maximize(); //最大化浏览器 webDriver.get(url); //url为测试的登录框的地址 } @Test public void testLogin(){ webDriver.findElement(By.xpath(xpath)).sendKeys(keysToSend);//通过xpath定位一个输入框,然后往里输入一个字符串keysToSend的内容。 WebElement button=webDriver.findElement(By.xpath("//input[@type=‘button‘]"));//获取登录按钮的位置 button.click(); //点击登录按钮,然后提交 }
这样一个testng的测试用例就写好了,之后,可以通过增加数据驱动、封装新方法等来优化项目。在后续之中会继续讲这方面的内容。
下一步会先讲一下使用该工具比较重要的内容,xpath语言。
上文中的"//input[@type=‘button‘]",这一段就是使用了xpath语言定位。即查找所有input中,type为button的元素。所以必须保证在当前页面中,该属性是唯一的。对于extjs等前端框架,尽量不要使用id来定位。
时间: 2024-10-12 05:04:20