Conversation
|
|
||
|
|
||
|
|
||
| Описание локаторов: |
There was a problem hiding this comment.
Можно лучше: readme используется не по назначению
| driver.find_element(By.XPATH, ".//fieldset[3]/div/div/input").send_keys("123456") | ||
| driver.find_element(By.XPATH, ".//button[text()='Зарегистрироваться']").click() | ||
|
|
||
| time.sleep(1) |
There was a problem hiding this comment.
Нужно исправить: здесь и далее: sleep в тестах плохая практика, т.к. для загрузки страницы/элемента может потребоваться меньше или больше времени. Для ожиданий нужно использовать модуль expected_condition.
| from selenium.webdriver.common.by import By | ||
| import time | ||
|
|
||
| driver = webdriver.Chrome() |
There was a problem hiding this comment.
Нужно исправить: здесь и далее: тестовые сценарии должны быть оформлены в тестовых классах и тестовых методах. Такая реализация позволяет объединять несколько сценариев в сьюты в рамках одного модуля.
There was a problem hiding this comment.
Нужно исправить: здесь и далее: инициализация/закрытие драйвера должна происходить в рамках фикстур. Такая реализация позволяет избежать дублирования кода.
|
|
||
| driver = webdriver.Chrome() | ||
|
|
||
| driver.get("https://stellarburgers.nomoreparties.site/") |
There was a problem hiding this comment.
Можно лучше: здесь и далее: урлы стоит хранить в отдельном модуле и конкатенировать с базовым, так будет проще поддерживать несколько стендов
| driver.find_element(By.XPATH, ".//fieldset[1]/div/div/input").send_keys("Nikolay") | ||
| driver.find_element(By.XPATH, ".//fieldset[2]/div/div/input").send_keys("NikolayKluchnikov1004@mail.ru") | ||
| driver.find_element(By.XPATH, ".//fieldset[3]/div/div/input").send_keys("123456") |
There was a problem hiding this comment.
Можно лучше: здесь и далее: тестовые данные стоит хранить отдельно в data модуле, так поддерживать и переиспользовать будет проще
|
|
||
| driver.get("https://stellarburgers.nomoreparties.site/") | ||
|
|
||
| driver.find_element(By.LINK_TEXT, "Личный Кабинет").click() |
There was a problem hiding this comment.
Нужно исправить: здесь и далее: локаторы должны быть записаны в переменные и хранится отдельно от тестов в модуле locators для удобства дальнейшего переиспользования.
|
|
||
| driver.find_element(By.LINK_TEXT, "Личный Кабинет").click() | ||
| driver.find_element(By.XPATH, ".//a[@href='/register']").click() | ||
| driver.find_element(By.XPATH, ".//fieldset[1]/div/div/input").send_keys("Nikolay") |
There was a problem hiding this comment.
Нужно исправить: здесь и далее: использование в локаторе порядкового номера элемента в dom, поиск от html, root, main и абсолютного пути порождает нестабильность локаторов (необходимо привязываться к атрибутам конкретного элемента)
|
|
||
| time.sleep(2) | ||
|
|
||
| assert driver.find_element(By.XPATH, ".//p[text()='Мясо бессмертных моллюсков Protostomia']").is_displayed() |
There was a problem hiding this comment.
Нужно исправить: здесь и далее для тестов переходов по табам: данный элемент появляется в dom с самого начала загрузки страницы. Проверка переключения таба по нему будет недостоверной. Нужно использовать другой способ, например, проверка изменения атрибута class у элемента.
| driver.find_element(By.LINK_TEXT, "Личный Кабинет").click() | ||
| driver.find_element(By.XPATH, ".//a[@href='/register']").click() | ||
| driver.find_element(By.XPATH, ".//fieldset[1]/div/div/input").send_keys("Nikolay") | ||
| driver.find_element(By.XPATH, ".//fieldset[2]/div/div/input").send_keys("NikolayKluchnikov1000@mail.ru") |
There was a problem hiding this comment.
Нужно исправить: при использовании захардкоженного email тест пройдет только первый раз, т.к. функционал не позволяет регистрировать пользователей с одинаковым email . Нужно использовать рандомную генерацию email для каждого теста.
No description provided.