Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
splinter - python test framework for web applications

This branch is 10 commits ahead, 1412 commits behind cobrateam:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
splinter
tests
.coveragerc
.gitignore
Makefile
README.md
setup.py

README.md

splinter - Python acceptance testing for web applications

development

Pull requests are very welcome! Make sure your patches are well tested.

running the tests

if you are using a virtualenv, all you need is:

$ make test

community

#cobrateam channel on irc.freenode.net

documentation

Browser

To use splinter you need create a Browser instance:

from splinter.browser import Browser
browser = Browser()

Navigating with Browser.visit

You can use the visit method to navigate to other pages:

browser.visit('http://cobrateam.info')

The visit method takes only a single parameter - the url to be visited.

Browser.title

You can get the title of the visited page using the title attribute:

browser.title

Verifying page content with Browser.html

You can use the html attribute to get the html content of the visited page:

browser.html

Verifying page url with Browser.url

The visited page's url can be accessed by the url attribute:

browser.url

Finding elements

For finding elements you can use five methods, one for each selector type css_selector, xpath, tag, name, id:

browser.find_by_css_selector('h1')
browser.find_by_xpath('//h1')
browser.find_by_tag('h1')
browser.find_by_name('name')
browser.find_by_id('firstheader')

Finding links

For finding link elements you can use find_link_by_text or find_link_by_href:

browser.find_link_by_text('Link for Example.com')

or

browser.find_link_by_href('http://example.com')

For finding links by id, tag, name or xpath you should use other find methods (find_by_css_selector, find_by_xpath, find_by_tag, find_by_name and find_by_id).

Get element value

In order to retrieve an element's value, use the value property:

browser.find_by_css_selector('h1').value

or

element = browser.find_by_css_selector('h1')
element.value

Interacting with forms

browser.fill_in('query', 'my name')
browser.attach_file('file', '/path/to/file/somefile.jpg')    
browser.choose('some-radio')
browser.check('some-check')
browser.uncheck('some-check')

Verifying if element is visible or invisible

To check if an element is visible or invisible, use the visible property. For instance:

browser.find_by_css_selector('h1').visible

will be True if the element is visible, or False if it is invisible.

Executing javascript

You can easily execute JavaScript, in drivers which support it:

browser.execute_script("$('body').empty()")

You can return the result of the script:

browser.evaluate_script("4+4") == 8
Something went wrong with that request. Please try again.