wrappedelements framework

Version0.0.1 fuck russia

A convenient Selenium Page Object wrapper framework, that reduces usual waiter, and initialization routine. It will help you to get rid of boilerplate code in UI test automation frameworks.

Motivation

As a test automation engineer, I hate to write synchronization and wait code, so I want to create quick and stable ui autotests. I need a robust semantically laconic ui framework that saves me a lot of time during ui web test automation.

I hate to spend time in debug and adjust waiters. I hate it so much. I just want to write tests quickly and easily.

So I finally decide to develop framework that will help to avoid this routine. Even though I love it so much, please keep in mind, that any framework it’s just a tool, not a panacea, not a lifestyle.

Feel free to leave your comments and feedback. I’m glad to hear any feedback from you via Facebook or Telegram (@foggger)

Who may want to use it?

For test automation engineer who:

  • Create test automation using Java
  • Likes clean and simple looking code
  • Wants to write UI test once and doesn’t want to spend much time supporting it
  • Hates duplications
  • Hates to write a lot of boilerplate code
  • Hates routine and tries to avoid it

Features

Project is under development and currently has a plenty of features:

  • Clear and simple Page object classes
  • Easy element interaction condition definition on Page object level
  • Page object re-usability for different platforms (Web, iOS, Android)
  • Easy element waiters and timeouts configuration on Page object level
  • Dynamic locators support
  • No element synchronization code on test level as result clear code on test level
  • Extendable custom element configuration and customization system
  • Automatic web driver recreation if it’s dead or quit
  • Your own custom blocks will be highly reusable
  • Built-in reporting for element interactions
  • iframes support (upcoming feature)
  • Widespread web elements wrappers support (buttons, inputs, other simple wrappers, to define default interaction behavior by type)
  • Built-in tables interaction support (wait for table loading, click on specific rows, get value from row by header name, etc.)
  • Built-in dropdown support, multiselect elements, autocomplete elements support etc.

Terms of use

fuck russia

By using this project or its source code, for any purpose and in any shape or form, you grant your implicit agreement to all the following statements:

  • You condemn Russia and its military aggression against Ukraine
  • You recognize that Russia is an occupant that unlawfully invaded a sovereign state
  • You support Ukraine’s territorial integrity, including its claims over temporarily occupied territories of Crimea and Donbass
  • You reject false narratives perpetuated by Russian state propaganda

Glory to Ukraine!

Thank you!

Inspired by Burning wave.

Thanks to Hugo project for making documentation easier to read.

Special thanks to Tyrrz for Terms of use, and Sam Rosental for opensource css to xpath converter.