forked from norzhima/selenium-webdriver-testsky
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtree_chrome.py
173 lines (162 loc) · 12.4 KB
/
tree_chrome.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
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.action_chains import ActionChains
import time
class tree_testing(unittest.TestCase):
print(' ПРОВЕРКА ПРИОБРЕТЕНИЯ ПАКЕТА "ИМЕННОЕ ДЕРЕВО 5000" в браузере Chrome.')
print()
def setUp(self):
self.delay = 10
self.options = webdriver.ChromeOptions()
self.options.add_argument("--start-maximized")
self.driver = webdriver.Chrome(chrome_options=self.options)
self.driver.get("https://cab-test7.skyway.capital")
self.assertIn("SkyWay", self.driver.title)
print()
print("Открыли тест7:")
WebDriverWait(self.driver, self.delay).until(EC.presence_of_all_elements_located((By.XPATH, "//span[@class='login__header-lang-title dropdown-toggle']")))
self.search_leng = self.driver.find_element_by_xpath("//span[@class='login__header-lang-title dropdown-toggle']")
if self.search_leng.text == "EN":
print("Язык: Английский")
self.main_accounts = "Main: "
self.you_select_shares = " You are going to select the following number of shares : "
self.section_my_certificates = "My certificates"
else:
print("Сайт SkyWay Capital открыт на ", self.search_leng.text)
self.main_accounts = "Основной: "
self.you_select_shares = "Вы собираетесь приобрести следующее количество акций: "
self.section_my_certificates = "Мои сертификаты"
try:
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.ID, "yii-debug-toolbar")))
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='yii-debug-toolbar-toggler']")))
self.debug_minimize = self.driver.find_element_by_xpath("//span[@class='yii-debug-toolbar-toggler']")
self.debug_minimize.click()
except TimeoutException:
print("На тестовом стенде нет дебаг-панели.")
def autorization(self, login, passw):
self.login_field = self.driver.find_element_by_name("LoginForm[email]")
self.passw_field = self.driver.find_element_by_name("LoginForm[password]")
self.login_button = self.driver.find_element_by_name("button")
self.login_field.send_keys(login)
print("1) Ввели логин.")
self.passw_field.send_keys(passw)
print("2) Ввели пароль")
self.login_button.click()
def login(self):
print('АВТОРИЗАЦИЯ В ЛИЧНОМ КАБИНЕТЕ:')
print('Вводим логин и пароль:')
self.autorization("n.chagdurova@skyway.capital", "Xfulehjdf!1")
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located(
(By.XPATH, "//h3[@class='personal-card__name personal-card__name_verified']")))
self.current_url = self.driver.current_url
try:
self.assertTrue("SkyWay Capital", self.driver.title)
print("Зашли в Личный кабинет:", self.driver.title)
#self.assertTrue(self.driver.page_source.__contains__("Norzhima Чагдурова"))
self.username = self.driver.find_element_by_xpath("//h3[@class='personal-card__name personal-card__name_verified']")
if self.username.text == "Norzhima Чагдурова":
print("пользователя: ", self.username.text)
else:
pass
print("- Авторизация на сайте", self.current_url, "прошла успешно.")
except TimeoutException:
print("Попытка авторизации провалилась")
def check_packet_tree(self):
self.check_packet = '"Именное дерево 5 000"'
print('ПОКУПКА ПАКЕТА', self.check_packet, 'ЧЕРЕЗ ОСНОВНОЙ СЧЕТ:')
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//a[@href='/investment/programs?packet=384']")))
self.invest_programs = self.driver.find_element_by_xpath("//h3[@class='cabinet__title']")
self.tree_one = self.driver.find_element_by_xpath("//a[@href='/investment/programs?packet=384']")
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='personal-card__table-value-text']")))
self.main_balance_before = self.driver.find_element_by_xpath("//span[@class='personal-card__table-value-text']")
self.main_balance_before_replace = self.main_balance_before.text.replace(' ', '')
self.main_balance_before_replace_int = int(self.main_balance_before_replace[:-4])
print('Баланс основного счета до покупки пакета составляет:', self.main_balance_before.text)
#self.driver.execute_script("return arguments[0].scrollIntoView();", self.invest_programs)
self.tree_one.click()
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//label[@for='pay-w-acc']")))
self.get_url_384 = self.driver.current_url
self.assertTrue("https://cab-test7.skyway.capital/investment/programs?packet=384", self.get_url_384)
print(" - Перешли на страницу", self.get_url_384, 'для выбора способа оплаты пакета', self.check_packet)
self.pay_acc = self.driver.find_element_by_xpath("//label[@for='pay-w-acc']")
self.total = self.driver.find_element_by_xpath("//h3[@class='paying__title']")
#self.driver.execute_script("return arguments[0].scrollIntoView();", self.total)
self.pay_acc.click()
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(text(), self.main_accounts)]")))
self.assertTrue(self.driver.page_source.__contains__(self.main_accounts))
print(" - Выбрали оплату с внутренних кошельков")
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.ID, 'total_price')))
self.total_price = self.driver.find_element_by_id('total_price')
self.total_price_int = int(self.total_price.text.replace(' ', ''))
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.ID, "input1")))
self.input1 = self.driver.find_element_by_id("input1")
self.sum_packet = 5000
self.assertTrue(self.total_price_int, self.sum_packet)
print('При оформлении пакета сумма указана верно (5 000).')
self.input1.send_keys(self.sum_packet)
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='paying__panel-acc-btn']/input")))
print(" - Ввели сумму", self.sum_packet,"в поле для основного счета")
self.checkout_tree = self.driver.find_element_by_xpath("//div[@class='paying__panel-acc-btn']/input")
#time.sleep(10)
self.checkout_tree.click()
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//button[@id='progressStart']")))
self.progress_start = self.driver.find_element_by_xpath("//button[@id='progressStart']")
self.progress_start.click()
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(text(), self.you_select_shares)]")))
print(" - Подтвердили инвестицию во всплывающем окне")
self.get_url_pay_check = self.driver.current_url
self.assertTrue("https://cab-test7.skyway.capital/investment/pay-check", self.get_url_pay_check)
print(' - и перешли на страницу', self.get_url_pay_check)
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='swc-elements_checkbox-icon']")))
self.agree = self.driver.find_element_by_xpath("//span[@class='swc-elements_checkbox-icon']")
self.agree.click()
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located((By.ID, "buy-btn")))
print(' - Нажали галочку для принятия условий договора конвертируемого займа;')
self.buy_btn = self.driver.find_element_by_id("buy-btn")
self.buy_btn.click()
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located((By.ID, "swc-canvas")))
print(' - После этого нажали на появившуюся кнопку "Инвестировать";')
try:
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located((By.XPATH, "//h3[@class='personal-card__name personal-card__name_verified']")))
self.verif_data = self.driver.find_element_by_xpath(
"//h3[@class='personal-card__name personal-card__name_verified']")
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located((By.NAME, "sign")))
self.sign = self.driver.find_element_by_name("sign")
self.sign.click()
print(' - Нажали кнопку "Подписать" в открывшемся требовании')
except TimeoutException:
print("Пользователь не верифицирован")
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//h2[contains(text(), self.section_my_certificates)]")))
self.assertTrue(self.driver.page_source.__contains__(self.section_my_certificates))
self.get_url_portfolio = self.driver.current_url
self.assertTrue("https://cab-test7.skyway.capital/investment/portfolio", self.get_url_portfolio)
print(' - После покупки пакета', self.check_packet, 'перешли на страницу', self.get_url_portfolio, 'в раздел "Мои сертификаты".')
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='personal-card__table-value-text']")))
self.main_balance_after = self.driver.find_element_by_xpath("//span[@class='personal-card__table-value-text']")
self.main_balance_after_replace = self.main_balance_after.text.replace(' ', '')
self.main_balance_after_replace_int = int(self.main_balance_after_replace[:-4])
self.assertTrue(self.main_balance_before_replace_int-self.sum_packet, self.main_balance_after_replace_int)
print('Баланс основного счета после покупки составляет:', self.main_balance_after.text, '. Списалась необходимая сумма.')
#Сделать тут проверку кол-ва акций в оформленном сертификате
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='heading-logo-link']")))
self.checkout_main_section = self.driver.find_element_by_xpath("//a[@class='heading-logo-link']")
self.checkout_main_section.click()
WebDriverWait(self.driver, self.delay).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='back-to-news']")))
self.get_url_main_section = self.driver.current_url
self.assertTrue("https://cab-test7.skyway.capital/", self.get_url_main_section)
print(' - После проверки покупки пакета', self.check_packet, 'c основного счета перешли на главную страницу сайта')
print('++++++++++Покупка пакета', self.check_packet, ' с основного счета прошла успешно!+++++++++++++++')
def test_tree(self):
self.login()
#Ниже будет проводиться проверка наличия баннеров на сайте
print()
self.check_packet_tree()
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()