-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate_user_netflix.py
137 lines (112 loc) · 4.51 KB
/
create_user_netflix.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
import random
import unittest
from time import sleep
from selenium import webdriver
from api_mock_data import ApiMockData
from selenium.webdriver.support.ui import Select
class CreateNewUser(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path='./chromedriver')
driver = self.driver
driver.maximize_window()
driver.get('http://127.0.0.1:8000/user')
def test_create_new_user(self):
driver = self.driver
sex_options = ['', 'M', 'F', 'N/A']
active_sex_options = []
self.assertEqual('Suscripcion', driver.title)
email = driver.find_element_by_name('email')
password = driver.find_element_by_name('password')
name = driver.find_element_by_name('name')
last_name = driver.find_element_by_name('last_name')
user_name = driver.find_element_by_name('user_name')
age = driver.find_element_by_name('age')
id_credit_card = driver.find_element_by_name('id_credit_card')
credit_card_date = driver.find_element_by_name('credit_card_date')
safe_code = driver.find_element_by_name('safe_code')
sex = Select(driver.find_element_by_name('sex'))
submit_button = driver.find_element_by_id('boton_continuar')
self.assertEqual(4, len(sex.options))
for option in sex.options:
active_sex_options.append(option.text)
self.assertListEqual(active_sex_options, sex_options)
self.assertTrue(email.is_enabled()
and password.is_enabled()
and name.is_enabled()
and last_name.is_enabled()
and user_name.is_enabled()
and age.is_enabled()
and id_credit_card.is_enabled()
and credit_card_date.is_enabled()
and safe_code.is_enabled()
and submit_button.is_enabled())
email.clear()
password.clear()
name.clear()
last_name.clear()
user_name.clear()
age.clear()
id_credit_card.clear()
credit_card_date.clear()
safe_code.clear()
email.send_keys(ApiMockData.email)
sleep(1)
password.send_keys(ApiMockData.password)
sleep(1)
name.send_keys(ApiMockData.name)
sleep(1)
last_name.send_keys(ApiMockData.last_name)
sleep(1)
user_name.send_keys(ApiMockData.username)
sleep(1)
age.send_keys(ApiMockData.age)
sleep(1)
sex.select_by_visible_text(ApiMockData.sex)
sleep(1)
id_credit_card.send_keys(ApiMockData.id_credit_card)
sleep(1)
credit_card_date.send_keys(ApiMockData.credit_card_date)
sleep(1)
safe_code.send_keys(ApiMockData.safe_code)
sleep(1)
submit_button.click()
sleep(2)
country = Select(self.driver.find_element_by_id('id_country'))
list_countries = [option.text for option in country.options]
country.select_by_index(random.randint(1,len(list_countries)-1))
sleep(1)
city = Select(self.driver.find_element_by_id('id_city'))
list_cities = [option.text for option in city.options]
city.select_by_index(random.randint(1, len(list_cities)-1))
sleep(1)
print(list_countries)
print(list_cities)
plan = list(self.driver.find_elements_by_class_name('label_container'))
plan[random.randint(0, len(plan)-1)].click()
sleep(1)
submit_button = self.driver.find_element_by_id('iniciar_membresia')
submit_button.click()
users_profiles_quantity = random.randint(0, 5)
print(users_profiles_quantity)
for i in range(users_profiles_quantity):
profile = driver.find_element_by_name(f'name{i+1}')
profile.send_keys(ApiMockData.username)
print(ApiMockData.username)
sleep(1)
submit_button = driver.find_element_by_id('boton_continuar')
submit_button.click()
for i in range(5):
row = random.randint(2, 4)
genre = random.randint(1, 3)
print(row, genre)
liked_genre = driver.find_element_by_xpath(f'/html/body/div/div[{row}]/div/label[{genre}]/span/img')
liked_genre.click()
sleep(1)
input('Press Enter to continue...')
submit_button = driver.find_element_by_id('boton_continuar')
submit_button.click()
sleep(1)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main(verbosity=2)