Skip to content
forked from Etiqa/bromine

Bromine is a high-level web testing library based on Selenium and PageObject Pattern.

License

Notifications You must be signed in to change notification settings

pulphix/bromine

 
 

Repository files navigation

Bromine is a high-level web testing Python library based on Selenium and PageObject Pattern.

It's purpose is to provide a conceptual framework to model the system under test.

To write actual tests you'll keep using your testing framework of choice.

Bromine focuses on end-to-end tests: it relies on Selenium to exercise a real system, not to simulate it.

While Selenium serves as the essential foundation enabling end-to-end testing, WebDriver alone offers too low a level of abstraction.
When we describe some behaviour that our system must exhibit, we usually think about how users interact with the UI and how this one is expected to respond to those interactions. We do not think about the browser as the main actor, but indeed as part of the application. In the context of Object-Oriented Programming, as developers we tend to reason in terms of UI objects interacting with the user or with other parts of the system.
Given this perspective shift, Bromine adopts PageObject Pattern as its cornerstone.

The three basic building blocks of Bromine's conceptual model are WebApplication, WebPage and WebElement.

WebElements are responsible for locating and automatically refreshing themselves relieving the programmer of the burden of explicitly handling Selenium's StaleElementExceptions.

About

Bromine is a high-level web testing library based on Selenium and PageObject Pattern.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.7%
  • Makefile 1.1%
  • Shell 0.2%