Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
FrameSwitcher
library
Roman Khachko
Agenda
Introduction and purpose
Usage
Implementation details
Future improvements
Switching frames
Using Page-Object pattern, there are several
ways of switching:
client code
inside pages
using facilitato...
Purpose of creation
1. Switch to frame automatically
2. Easy way of usage in client code
3. Readable code on the highest l...
Results
It’s a library. Just include it
and enjoy :)
Usage
just include it
annotate a proper method with
@RequireSwitchingToFrame annotation
specify how to switch
implement Dr...
Usage (including)
For more details, please check readme file
Usage
● Example of class describing a page
● Example of client code
Key features
Easy to include
Easy to use
Readable code
Easy to maintain
Multithreading support
Implementation
RequireSwitchingToFrame annotation
Aspect class
FrameSwitcher class
First implementation were based on refl...
Plans to improvements
Add multilevel frame support
Make some modules better and informative
Testing infrastructure
Resources
FrameSwitcher on github
my blog
contact me: romankhachko@gmail.com
Questions
Upcoming SlideShare
Loading in …5
×

Frame switcher library

11,875 views

Published on

Presentation about FrameSwitcher library

Published in: Software
  • Be the first to comment

  • Be the first to like this

Frame switcher library

  1. 1. FrameSwitcher library Roman Khachko
  2. 2. Agenda Introduction and purpose Usage Implementation details Future improvements
  3. 3. Switching frames Using Page-Object pattern, there are several ways of switching: client code inside pages using facilitator classes
  4. 4. Purpose of creation 1. Switch to frame automatically 2. Easy way of usage in client code 3. Readable code on the highest level 4. Eliminate repeatable code (switch to frame -> switch to default content) 5. Necessity of having a way with marking actions by annotation 6. Hide all implementation details in order not to confuse end user 7. Have as less code as possible
  5. 5. Results It’s a library. Just include it and enjoy :)
  6. 6. Usage just include it annotate a proper method with @RequireSwitchingToFrame annotation specify how to switch implement Driverable interface invoke annotated methods in client code
  7. 7. Usage (including) For more details, please check readme file
  8. 8. Usage ● Example of class describing a page ● Example of client code
  9. 9. Key features Easy to include Easy to use Readable code Easy to maintain Multithreading support
  10. 10. Implementation RequireSwitchingToFrame annotation Aspect class FrameSwitcher class First implementation were based on reflection and required extra methods. Current implementation is based on AOP approach with using AspectJ
  11. 11. Plans to improvements Add multilevel frame support Make some modules better and informative Testing infrastructure
  12. 12. Resources FrameSwitcher on github my blog contact me: romankhachko@gmail.com
  13. 13. Questions

×