对于selenium的理解,主要集中在POM和PAGEFACTORY上,这两个理解清楚了,核心就理解清楚了,CSDN上有一篇文章写的很好很清楚,我转载过来,直接可以读它:
http://blog.csdn.net/kittyboy0001/article/details/25219053
摘录一段比较重要的话:
在BaiduSearchPage baiduPage = PageFactory.initElements (driver,BaiduSearchPage.class); 这行代码。PageFactory负责初始化了Page里的元素,amazing,用起来就是这么的优雅。 那么下来,我就要问了:PageFactory是怎么定位元素的呢?
原来PageFactory初始化元素有一个惯例,样例中将WebElement的名称定为wd,那么PageFactory将按类似以下的形式对其进行初始化:
driver.findElement(By.id("wd"));
PageFactory认为wd是HTML元素的id或者name字段的值,并且优先从id开始查找。至此,我们终于知道怎么回事了。
这段话看起来很好理解,但是在页面跳转的时候就容易出现问题,当页面跳转到另一个页面时,需要再调用PageFactory.initElements
去初始化页面,这是容易忽视的地方,以为driver传进去以后就不用再调用了。
其他的就不再赘述了。