-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblank_Pasha.py
176 lines (157 loc) · 11.3 KB
/
blank_Pasha.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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import unittest
##
# global
browser = 'chrome'
bv = '61'
ip = '10.30.30.6'
driver = webdriver.Remote(
command_executor='http://%s:4444/wd/hub' % ip,
desired_capabilities={
'browserName': browser,
'version': bv,
'setJavascriptEnabled': True,
'trustAllSSLCertificates': True
})
driver.get('https://partnerka.project30.pro/')
driver.maximize_window()
wait = WebDriverWait(driver, 500)
countIU = 2
countAZS = 2
countCP = 2
with open(r"/docs/Pasha/variable_Pasha.txt") as file:
array = [row.strip() for row in file]
class Selenium1_test_Pilot(unittest.TestCase):
def test001_Login(self):
wait.until(EC.element_to_be_clickable((By.NAME, 'login')))
driver.find_element_by_name('login').send_keys('[email protected]')
driver.find_element_by_name('password').send_keys('@PYqL19455n@'+Keys.RETURN)
time.sleep(2)
print('Проходим процедуру авторизации')
wait.until(EC.element_to_be_clickable((By.XPATH,
"//div[@class='FmButtonClose__icon -wait-no FmButtonClose__icon--size-medium']")))
driver.find_element_by_xpath(
"//div[@class='FmButtonClose__icon -wait-no FmButtonClose__icon--size-medium']").click()
_ = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='FmButtonLabel__wrap']")))
driver.find_element_by_xpath("//div[@class='FmButtonLabel__wrap']").click()
time.sleep(2)
_ = wait.until(EC.element_to_be_clickable((By.XPATH, "(//INPUT[@type='text'])[1]")))
time.sleep(1)
def test002_CorrectCreateRequest(self):
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[0]+Keys.ENTER)
driver.find_element_by_xpath("(//INPUT[@type='text'])[2]").send_keys(array[1]+Keys.ENTER)
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(array[2]+Keys.ENTER)
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[3])
driver.find_element_by_class_name('FmButtonNext__icon').click()
print('Заполняем поля корректно, и переходим к разделу "Паспортные данные"')
def test003_CorrectCreatePassportData(self):
time.sleep(0.5)
wait.until(EC.visibility_of_element_located((By.XPATH, "//DIV[@class='ForForm__H1'][text()='Паспортные данные гражданина РФ']")))
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[5]) # серия и номер паспорта array[5]
driver.find_element_by_xpath("(//INPUT[@type='text'])[2]").send_keys(array[7]) # дата выдачи
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(array[9]) # код подразделения
driver.find_element_by_xpath("(//INPUT[@type='text'])[4]").send_keys(array[63]) # место рождения
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[11]) # дата рождения
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").send_keys("Москва Рязанский проспект 5 42") # адрес проживания array[88]
time.sleep(2) # 3
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").send_keys(Keys.ENTER)
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[7]").send_keys(array[94]) # array[108]
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(Keys.PAGE_DOWN)
time.sleep(1)
wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "FmButtonNext__icon")))
driver.find_element_by_class_name('FmButtonNext__icon').click()
print(' Заполняем поля паспортных данных корректно, и переходим к разделу "Работа"')
def test004_TryCatchModalWindow(self):
_ = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.FmButtonClose__icon.-wait-no.FmButtonClose__icon--size-medium")))
try:
driver.find_element_by_xpath("//DIV[@class='FmButtonClose__icon -wait-no FmButtonClose__icon--size-medium']").click()
print('Модальное окно "Распечайте форму согласия на обработку персональных данных" появилось и было закрыто')
except:
print("Модального окна не появилось")
time.sleep(1)
def test005_CorrectCreateWork(self):
wait.until(EC.visibility_of_element_located((By.XPATH, "//DIV[@class='ForForm__H1'][text()='Основное место работы']")))
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[13]+Keys.ENTER) # Форма занятости
driver.find_element_by_xpath("(//INPUT[@type='text'])[2]").send_keys(array[15]+Keys.ENTER) # Отрасль работодателя
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(array[17]) # ИНН
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(Keys.ARROW_DOWN + Keys.ENTER) # ИНН
driver.find_element_by_xpath("(//INPUT[@type='text'])[4]").send_keys(array[19]) # Офиц. номер телефона
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[21]+Keys.ENTER) # Стаж в текущем месте
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").send_keys(array[23]+Keys.ENTER) # Квалификация
driver.find_element_by_xpath("(//INPUT[@type='text'])[7]").send_keys(array[25]) # Доход в месяц в руб.
driver.find_element_by_xpath("(//INPUT[@type='text'])[8]").send_keys(array[27]+Keys.ENTER) # Кем приходится клиенту
driver.find_element_by_xpath("(//INPUT[@type='text'])[9]").send_keys(array[29]) # Имя и отчество контактного лица
driver.find_element_by_xpath("(//INPUT[@type='text'])[10]").send_keys(array[31]) # Телефон контактоного лица
driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
time.sleep(1)
wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "FmButtonNext__icon")))
driver.find_element_by_class_name('FmButtonNext__icon').click()
print(' Заполняем поля корректно, и переходим к разделу "Дополнительная информация"')
def test006_CorrectAddInfo(self):
wait.until(EC.visibility_of_element_located((By.XPATH, "//DIV[@class='ForForm__H1'][text()='Дополнительная информация']")))
time.sleep(0.5)
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[33]) # Образование
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(Keys.ARROW_DOWN + Keys.ENTER)
driver.find_element_by_xpath("(//INPUT[@type='text'])[2]").send_keys(array[35]) # Серия и номер в/у
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(array[37]) # Дата выдачи в/у
driver.find_element_by_xpath("(//INPUT[@type='text'])[4]").send_keys(array[39]) # Семейный статус
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[4]").send_keys(Keys.ENTER)
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[82]) # Количество лиц на иждивении
time.sleep(1)
driver.find_element_by_class_name('FmButtonNext__icon').click()
print(' Заполняем поля корректно, и переходим к разделу "Параметры кредита и ТС"')
def test007_CorrectCreateCredit(self):
time.sleep(0.5)
wait.until(EC.visibility_of_element_located((By.XPATH,
"//DIV[@class='ForForm__H1'][text()='Параметры кредита и ТС']")))
# driver.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[49] + Keys.ENTER)
time.sleep(1)
# driver.find_element_by_xpath(
# "(//LABEL[@class='PageRequestStep05__productLabel -selected-no -declined-no -description'])[1]").click()
driver.find_element_by_xpath("(//INPUT[@type='text'])[2]").send_keys(array[41]) # Стоимость ТС, руб.
driver.find_element_by_xpath("(//INPUT[@type='text'])[3]").send_keys(array[43]) # Первоначальный взнос, руб.
driver.find_element_by_xpath("(//INPUT[@type='text'])[4]").send_keys(array[45]) # Срок кредита, мес.
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[47]) # Комфортный платёж, руб.
time.sleep(1)
driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
time.sleep(1)
# Информация об автосалоне и ТС
# Указать информацию из ПТС сейчас
driver.find_element_by_xpath("//*[text()[contains(.,'Указать информацию из ПТС сейчас')]]").click()
# Информация об автосалоне и ТС
# Указать информацию из ПТС сейчас
time.sleep(1)
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").click()
driver.find_element_by_xpath("(//INPUT[@type='text'])[5]").send_keys(array[48])
time.sleep(1)
driver.find_element_by_tag_name('body').send_keys(Keys.PAGE_DOWN)
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").click()
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").send_keys(array[51] + Keys.ENTER) # Б/У
#
driver.find_element_by_xpath("(//INPUT[@type='text'])[6]").send_keys(array[53]) # Серия и номер ПТС
driver.find_element_by_xpath("(//INPUT[@type='text'])[7]").send_keys(array[55]) # VIN автомобиля
driver.find_element_by_xpath("(//INPUT[@type='text'])[8]").send_keys(array[57] + Keys.ENTER) # Марка
driver.find_element_by_xpath("(//INPUT[@type='text'])[9]").send_keys(array[59] + Keys.ENTER) # Модель
#
time.sleep(1.5)
driver.find_element_by_class_name('FmButtonNext__icon').click()
print(' Заполняем поля корректно, и переходим к разделу "Сбор документов"')
def test008_UploadDocs(self):
# не загружаем документы
time.sleep(2.5)
wait.until(EC.element_to_be_clickable((By.XPATH, "//*[text()[contains(.,'Загрузить с телефона')]]")))
driver.close()
driver.quit()
if __name__ == '__main__':
unittest.main()