-
Notifications
You must be signed in to change notification settings - Fork 509
/
Copy pathtest_facebook_events.py
executable file
·81 lines (65 loc) · 2.76 KB
/
test_facebook_events.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# 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 http://www.facebook.com, login and navigate to "Create an event" page.
"""
import os
import time
import unittest
from splinter import Browser
class FacebookEventsTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.browser = Browser("firefox")
@classmethod
def tearDownClass(cls):
cls.browser.quit()
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"]',
).first.click()
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.browser.visit("http://www.facebook.com")
self.do_login_if_need(username="user", password="pass")
# Go to events page
self.browser.find_by_css("li#navItem_events a").first.click()
# Click on "Create an event button"
self.browser.find_by_css("div.uiHeaderTop a.uiButton").first.click()
time.sleep(1)
# 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").first.click()
if not self.browser.is_element_present_by_css(
"iframe#upload_pic_frame",
wait_time=10,
):
self.fail("The upload pic iframe didn't appear :(")
with self.browser.get_iframe("upload_pic_frame") as frame:
frame.attach_file("pic", picture_path)
time.sleep(10)
# Filling the form
self.browser.fill("event_startIntlDisplay", "5/21/2011")
self.browser.select("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"]').first.click()
time.sleep(1)
# 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