自从推出了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来定位。