bem:
1. applying "ioc" to let developer create PageFactory first and then use it to create pages, rather then pull dependencies in Page classes and creating factory instances internally
2. simplified code, that looks up annotation in property with fallback to class declaration
3. long urls replaced with bit.ly equivalents
Html Elements:
1. applying "ioc" to let developer create PageFactory first and then use it to create pages, rather then pull dependencies in Page classes and creating factory instances internally
2. simplified code, that looks up annotation in property with fallback to class declaration
3. long urls replaced with bit.ly equivalents
4. all element classes now require factory instance during construction
5. simplified WebElementProxy to ease up testing
Page Object:
1. applying "ioc" to let developer create PageFactory first and then use it to create pages, rather then pull dependencies in Page classes and creating factory instances internally
2. simplified code, that looks up annotation in property with fallback to class declaration
3. long urls replaced with bit.ly equivalents
4. all element classes now require factory instance during construction
5. simplified WebElementProxy to ease up testing
6. removed useless WebElement::getSession method, that was already defined in parent class
7. now skipping interfaces too during proxy creation
8. added find/findAll methods to NestedSelectorStrategy
Page Object:
Test coverage: 97.31%