Tutorial¶
Before starting, make sure Splinter is installed
This tutorial provides a simple example, teaching step by step how to:
search for
splinter - python acceptance testing for web applications'
in google.com, andfind if splinter official website is listed among the search results
Create a Browser instance¶
Import the Browser
class and instantiate it:
from splinter import Browser
browser = Browser()
Note: if you don’t provide any argument to the Browser
function, firefox
will be used (Browser function documentation).
Visit a website¶
Navigate to any website using the browser.visit()
method.
Let’s go to Google:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
Find an element¶
After a page is loaded, you can perform actions, such as clicking, filling text input, checking radio and checkboxes.
To do that, first you must find the correct element:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
Input text¶
Let’s fill Google’s search element with splinter - python acceptance testing for web applications
:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
input_element.fill('splinter - python acceptance testing for web applications')
Click a button¶
Tell Splinter which button should be pressed. A button - or any other element - can be identified using its css, xpath, id, tag or name.
In order to find Google’s search button, do:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
input_element.fill('splinter - python acceptance testing for web applications')
# There are two elements with name btnK - only the second is visible
button_element = browser.find_by_name('btnK')[1]
Note The name btnK
was found by inspecting Google’s search page source code.
With the button identified, we can then click it:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
input_element.fill('splinter - python acceptance testing for web applications')
# There are two elements with name btnK - only the second is visible
button_element = browser.find_by_name('btnK')[1]
button_element.click()
Note: Both steps presented above could be joined in a single line, such as:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
browser.find_by_name('q').fill('splinter - python acceptance testing for web applications')
browser.find_by_name('btnK')[1].click()
Check for results¶
After pressing the button, you can check if Splinter official website is among the search responses. This can be done like this:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
input_element.fill('splinter - python acceptance testing for web applications')
# There are two elements with name btnK - only the second is visible
button_element = browser.find_by_name('btnK')[1]
button_element.click()
if browser.is_text_present('splinter.readthedocs.io'):
print("Yes, found it! :)")
else:
print("No, didn't find it :(")
In this case, we are just printing something. You might use assertions, if you’re writing tests.
Close the browser¶
When you’ve finished testing, close your browser using browser.quit
:
from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
input_element = browser.find_by_name('q')
input_element.fill('splinter - python acceptance testing for web applications')
# There are two elements with name btnK - only the second is visible
button_element = browser.find_by_name('btnK')[1]
button_element.click()
if browser.is_text_present('splinter.readthedocs.io'):
print("Yes, the official website was found!")
else:
print("No, it wasn't found... We need to improve our SEO techniques")
browser.quit()