Skip to main content

Bromine: pythonic web testing

Bromine is a wrapper around selenium to allow writing testing in a terse and pythonic rather that java-esque way.

Selenium is cool: you register browser to a hub, you ask browsers from a hub, you use the browser, and you put it back. It works like magic.

Except if you want to use https. But who needs https these days?

Anyway, enough dissing well intentioned web testing systems. Let's talk bad about bad testing system. You know what you have to do to wait for a page to load after a get, and then check if an element is visible? The selenium docs will tell you:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# ...
driver.get("http://example.com")
element = WebDriverWait(driver, 10).until(
	EC.presence_of_element_located((By.ID, "myDynamicElement"))
)

I've been kind and I've stripped some boilerplate. If you are happy about importing three objects from 4 levels of namespaces and create a wait object and pass a 2-element tuple to the "convenience method" selenium.webdriver.support.expected_conditions.visibility_of_element_located for a thing you have to do pretty much every time you click on a link, please stop reading here: type pip install selenium and off you go. The following paragraph is only for people who think the above is unsatisfactory in Python.

Still reading? Sure?

Well, I'll be honest: what I prefer to do is:

import bromine
browser = bromine.Browser(driver)
element = browser.get("http://example.com/").wait(id='myDynamicElement')

Release files for gambit-bromine 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gambit-bromine 0.4.3
File Size Uploaded
gambit-bromine-0.4.3.tar.gz 10.0 kB Details

Release files / gambit-bromine-0.4.3.tar.gz

Download URL gambit-bromine-0.4.3.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9d631b3b97b0ae41b05fdc9136e9e426252cfea8f9c6260822b7bd8a126f4d71
BLAKE2b-256 checksum
How to use checksums
c5603907c80bb3bb13b24761f16ef608c61cd91bb46123c0712bfefeb150be64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.4.3 This release

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3.1

1 release file

0.3

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page