/
MovieInfoTests.py
138 lines (122 loc) · 6.53 KB
/
MovieInfoTests.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
__author__ = 'Joseph Conlin'
"""
Tests for Cinemark.com movie info
"""
from TestBrowser import TestBrowser
from HeaderPage import Header
from TheatersPage import Theaters
import TheaterDetailPage
import FileOutput
import unittest
import os
# Setup some common test variables
_headerSearchText = "Salt Lake City"
_theaterLinkText = "Cinemark"
_csvFileName = "CSVTest"+FileOutput.WriteCSV.defaultFileExtension
_excelFileName = "ExcelTest"+FileOutput.WriteExcel.defaultFileExtension
_jsonFileName = "JSONTest"+FileOutput.WriteJSON.defaultFileExtension
class MovieInfoTests(unittest.TestCase):
def setUp(self):
self.driver = TestBrowser().get_browser()
# For internal testing purposes, navigate to a theater details page
self.header = Header(self.driver)
self.header.do_search(_headerSearchText)
self.theaters = Theaters(self.driver)
self.theaters.click_theater(_theaterLinkText)
self.theater = TheaterDetailPage.TheaterDetail(self.driver)
self.theaterCalendar = TheaterDetailPage.TheaterCalendar(self.driver)
def tearDown(self):
self.driver.quit()
def test_log_csv(self):
currentFileSize = 0
try:
currentFileSize = os.path.getsize(_csvFileName)
except FileNotFoundError:
# Error is due to file not existing which means size 0 so do nothing
pass
# TODO: After TheaterDetailPage.TheaterCalendar has index based function, rewrite below in a loop
# Initial load of self.theater is today so no need to click, just write data
FileOutput.WriteCSV.write_movie_details(self.theater, _csvFileName)
self.theaterCalendar.click_today_plus_one()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
self.theaterCalendar.click_today_plus_two()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
self.theaterCalendar.click_today_plus_three()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
self.theaterCalendar.click_today_plus_four()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
self.theaterCalendar.click_today_plus_five()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
self.theaterCalendar.click_today_plus_six()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteCSV.write_movie_details(newDay, _csvFileName)
newFileSize = os.path.getsize(_csvFileName)
self.assertLess(currentFileSize, newFileSize, "Did not write new data to csv output file")
def test_log_excel(self):
currentFileSize = 0
try:
currentFileSize = os.path.getsize(_excelFileName)
except FileNotFoundError:
# Error is due to file not existing which means size 0 so do nothing
pass
# TODO: After TheaterDetailPage.TheaterCalendar has index based function, rewrite below in a loop
# Initial load of self.theater is today so no need to click, just write data.
FileOutput.WriteExcel.write_movie_details(self.theater, _excelFileName)
self.theaterCalendar.click_today_plus_one()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
self.theaterCalendar.click_today_plus_two()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
self.theaterCalendar.click_today_plus_three()
TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
self.theaterCalendar.click_today_plus_four()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
self.theaterCalendar.click_today_plus_five()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
self.theaterCalendar.click_today_plus_six()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteExcel.write_movie_details(newDay, _excelFileName)
newFileSize = os.path.getsize(_excelFileName)
self.assertLess(currentFileSize, newFileSize, "Did not write new data to Excel output file")
def test_log_json(self):
currentFileSize = 0
try:
currentFileSize = os.path.getsize(_jsonFileName)
except FileNotFoundError:
# Error is due to file not existing which means size 0 so do nothing
pass
# TODO: After TheaterDetailPage.TheaterCalendar has index based function, rewrite below in a loop
# Initial load of self.theater is today so no need to click, just write data.
FileOutput.WriteJSON.write_movie_details(self.theater, _jsonFileName)
self.theaterCalendar.click_today_plus_one()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
self.theaterCalendar.click_today_plus_two()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
self.theaterCalendar.click_today_plus_three()
TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
self.theaterCalendar.click_today_plus_four()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
self.theaterCalendar.click_today_plus_five()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
self.theaterCalendar.click_today_plus_six()
newDay = TheaterDetailPage.TheaterDetail(self.driver)
FileOutput.WriteJSON.write_movie_details(newDay, _jsonFileName)
newFileSize = os.path.getsize(_jsonFileName)
self.assertLess(currentFileSize, newFileSize, "Did not write new data to JSON output file")
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(MovieInfoTests)
unittest.TextTestRunner(verbosity=2).run(suite)