Skip to content

Instantly share code, notes, and snippets.

@glenfant
Created July 22, 2012 18:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glenfant/3160614 to your computer and use it in GitHub Desktop.
Save glenfant/3160614 to your computer and use it in GitHub Desktop.
Démonstration de Splinter
# -*- coding: utf-8 -*-
"""Tests de www.alterway.fr avec splinter"""
# Préambule
import splinter
HOME = 'http://www.alterway.fr'
browser = splinter.Browser('firefox')
# On va à la page d'accueil
browser.visit(HOME)
# On vérifie la présence du widget de recherche
search_input = browser.find_by_id("edit-search-block-form--2").first
# On recherche "wampserver"
search_input.type("wampserver")
browser.find_by_id("edit-submit").click()
# On a bien atteint les résultats de recherche
assert browser.url == HOME + '/search/node/wampserver'
# On vérifie que la page /cas-client/wampserver est dans les résultats
wampserver_link = browser.find_link_by_text("Wampserver").first
assert wampserver_link._element.get_attribute('href') == HOME + '/cas-client/wampserver'
# On va énumérer les titres des résultats de recherche
results = browser.find_by_xpath('//*[@id="content-inner"]/ol').find_by_tag('a')
print "Résultats de la recherche de 'wampserver'"
for result in results:
print result.text, '->', result._element.get_attribute('href')
# Il y a pas d'autres pages de résultats
batch_nav = browser.find_by_css('.pager')
assert len(batch_nav) == 0
# Un peu de javascript qui ajoute un élément en fin de page d'accueil avec jQuery
browser.visit(HOME)
browser.execute_script("""jQuery('body').append('<h2 id="test-h2">bla bla</h2>')""")
# On décore cet élément
browser.execute_script("""jQuery('[id="test-h2"]').addClass('footer')""")
# On recherche cet élément en Python
test_h2 = browser.find_by_id('test-h2').first
# Et on vérifie nos modifications
assert test_h2.text == u'bla bla'
assert test_h2['class'] == 'footer'
# Ciao bye
browser.quit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment