Selenium的POM和PAGEFACTORY的理解
2017-10-17 10:26
381 查看
对于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开始查找。至此,我们终于知道怎么回事了。
这段话看起来很好理解,但是在页面跳转的时候就容易出现问题,当页面跳转到另一个页面时,需要再调用
去初始化页面,这是容易忽视的地方,以为driver传进去以后就不用再调用了。
其他的就不再赘述了。
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传进去以后就不用再调用了。
其他的就不再赘述了。
相关文章推荐
- Page Object Model (POM) & Page Factory in Selenium: Ultimate Guide
- Selenium的PageFactory在大型项目中的应用
- Selenium PageFactory
- selenium Object Page 设计模式理解及实现!
- Selenium PageFactory使用
- 对python+selenium框架POM的理解,附unittest帮助文档地址
- Selenium源码之PageFactory
- selenium+java+testNG+pageObject深入理解自动化测试框架
- Selenium框架源码解析-1 PageFactory
- selenium+java+testNG+pageObject深入理解自动化测试框架
- Selenium之使用PageFactory初始化pageobject
- Selenium的PageFactory & PageObject 在大型项目中的应用
- selenium+java+testNG+pageObject深入理解自动化测试框架
- Selenium PageFactory页面工厂
- selenium+java+testNG+pageObject深入理解自动化测试框架
- Selenium PageFactory页面工厂
- selenium page object & Page Factory
- Selenium的PageFactory & PageObject 在大型项目中的应用
- Selenium的PageFactory & PageObject 在大型项目中的应用