lemoncheesecake-selenium provides logging facilities to the Selenium Python library for tests written with the lemoncheesecake test framework.
Here is a simple example of a search on https://www.python.org:
# suites/python_org_search.py
import lemoncheesecake.api as lcc
from lemoncheesecake.matching import *
from lemoncheesecake_selenium import Selector, save_screenshot, is_in_page
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
@lcc.test()
def python_org_search():
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.python.org")
check_that("title", driver.title, contains_string("Python"))
selector = Selector(driver)
search_field = selector.by_name("q")
search_field.clear()
search_field.set_text("pycon")
search_field.set_text(Keys.RETURN)
selector.by_xpath("//h3[text()='Results']").check_element(is_in_page())
save_screenshot(driver)
driver.close()
We run the test:
$ lcc run
============================== python_org_search ==============================
OK 1 # python_org_search.python_org_search
Statistics :
* Duration: 10s
* Tests: 1
* Successes: 1 (100%)
* Failures: 0
HTML report : file:///tmp/python_org_search/report/report.html
And here are the report details :
Install through pip:
$ pip install lemoncheesecake-selenium
lemoncheesecake-selenium is compatible with Python 3.7-3.10 and Selenium 4.x.
You will also need to install a WebDriver to control your web browser.
- clicking, setting text, selecting element in a
<select>
, etc.. - checking DOM nodes
- screenshots
The documentation is available on https://lemoncheesecake-selenium.readthedocs.io.
Bug reports and improvement ideas are welcomed in tickets. A Google Groups forum is also available for discussions about lemoncheesecake: https://groups.google.com/forum/#!forum/lemoncheesecake.