Conversation
locators/order_page_locators.py
Outdated
| first_station_metro = [By.XPATH, ".//div[@class='select-search__select']/ul/li[1]"] | ||
| last_station_metro = [By.XPATH, ".//div[@class='select-search__select']/ul/li[last]"] |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: не стоит использовать в локаторах путь от рута, абсолютный путь или индексы элемента. Это делает локатор очень хрупким
locators/order_page_locators.py
Outdated
| first_time_rent = [By.XPATH, ".//div[@class='Dropdown-option'][1]"] | ||
| last_time_rent = [By.XPATH, ".//div[@class='Dropdown-option'][7]"] |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: не стоит использовать в локаторах путь от рута, абсолютный путь или индексы элемента. Это делает локатор очень хрупким
pages/home_page.py
Outdated
| @allure.step('Скролл до списка вопросов') | ||
| def scroll_question(self, index): | ||
| element = self.driver.find_element(*questions[index]) | ||
| self.driver.execute_script("arguments[0].scrollIntoView();", element) |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: все вызовы к driver/WebDriverWait должны быть описаны в методах BasePage, а затем вызываться через эти методы в *Page-классах через наследование
| @allure.title('Проверка верхней кнопки "Заказать"') | ||
| @allure.description('На странице "Самокат" нажимаем на кнопку "Заказать", заполняем поля ввода и проверяем, что выпало окошко "Заказ оформлен" с двумя наборами данных') | ||
| @pytest.mark.parametrize("name,last_name,address,phone,comment,date", TEST_DATA) | ||
| def test_top_button_order_accepted_order(self, browser, name, last_name, address, phone, comment, date): | ||
| page = OrderPageScooter(browser) | ||
| text = page.order_scooter_on_last_station(name=name, last_name=last_name, address=address, phone=phone, comment=comment, date=date) | ||
| assert "Заказ оформлен" in text | ||
|
|
||
| @allure.title('Проверка нижней кнопки "Заказать"') | ||
| @allure.description('На странице "Самокат" нажимаем на кнопку "Заказать", заполняем поля ввода и проверяем, что выпало окошко "Заказ оформлен с двумя наборами данных"') | ||
| @pytest.mark.parametrize("name,last_name,address,phone,comment,date", TEST_DATA) | ||
| def test_lower_button_order_accepted_order(self, browser, name, last_name, address, phone, comment, date): | ||
| page = OrderPageScooter(browser) | ||
| text = page.order_scooter_on_first_station(name=name, last_name=last_name, address=address, phone=phone, comment=comment, date=date) | ||
| assert "Заказ оформлен" in text No newline at end of file |
There was a problem hiding this comment.
Можно лучше: шаги этих тестов схожи. Можно их объединить с помощью параметризации
| def __init__(self, driver): | ||
| self.driver = driver | ||
|
|
||
| def find_element(self, locator): |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: не хватает аннотации allure для шага - allure.step
| @allure.step('Клик на логотип "Самокат"') | ||
| def click_logo_scooter(self): | ||
| self.find_element(scooter_logo).click() | ||
| return self.driver.current_url |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: все вызовы к driver/WebDriverWait должны быть описаны в методах BasePage, а затем вызываться через эти методы в *Page-классах через наследование
No description provided.