75c0ec1 Aug 22, 2013
@fsouza @andrewsmedina @muelli @douglascamata @turicas
executable file 73 lines (54 sloc) 2.64 KB
# -*- coding: utf-8 -*-
# Copyright 2012 splinter authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
This snippet show how to "test" a Facebook feature: the creation of an event.
It creates an event by going to, login and navigate to "Create an event" page.
import os
import unittest
import time
from splinter import Browser
class FacebookEventsTestCase(unittest.TestCase):
def setUpClass(cls):
cls.browser = Browser('firefox')
def tearDownClass(cls):
def do_login_if_need(self, username, password):
if self.browser.is_element_present_by_css('div.menu_login_container'):
self.browser.fill('email', username)
self.browser.fill('pass', password)
self.browser.find_by_css('div.menu_login_container input[type="submit"]')
assert self.browser.is_element_present_by_css('li#navAccount')
def test_create_event(self):
"Should be able to create an event"
# Open home and login
self.do_login_if_need(username='user', password='pass')
# Go to events page
self.browser.find_by_css('li#navItem_events a')
# Click on "Create an event button"
self.browser.find_by_css('div.uiHeaderTop a.uiButton')
# Uploading the picture
picture_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'img', 'turtles.jpg')
self.browser.find_by_css('div.eventEditUpload a.uiButton')
if not self.browser.is_element_present_by_css('iframe#upload_pic_frame', wait_time=10):"The upload pic iframe didn't appear :(")
with self.browser.get_iframe('upload_pic_frame') as frame:
frame.attach_file('pic', picture_path)
# Filling the form
self.browser.fill('event_startIntlDisplay', '5/21/2011')'start_time_min', '480')
self.browser.fill('name', 'Splinter sprint')
self.browser.fill('location', 'Rio de Janeiro, Brazil')
self.browser.fill('desc', 'For more info, check out the #cobratem channel on freenode!')
self.browser.find_by_css('label.uiButton input[type="submit"]')
# Checking if the event was created and we were redirect to its page
title = self.browser.find_by_css('h1 span').first.text
assert title == 'Splinter sprint', title