Здравствуйте!
Не могу сравнить элементы. Сравниваю текст элемента который мне возвращает селениум и обычный текст.
Сам тест:
import pytest
from selenium import webdriver
from Pages.Login.LoginPage import LoginPage
@pytest.yield_fixture()
def driver():
browser = webdriver.Chrome()
log = LoginPage(browser)
yield log
browser.quit()
def test_empty_fields(driver):
driver.click_login_button()
assert driver.assert_notification_empty_email_field() == "Required"
Елемент на странице логина, вызывая эту функцию я должен получить текст.
class LoginPage(Page):
def assert_notification_empty_email_field(self):
self.driver.find_element(*LoginPageLocators.NOTIFICATION_EMPTY_EMAIL_FIELD).text
Выхлоп такой
driver = <Pages.Login.LoginPage.LoginPage object at 0x000001820298CAC8>
def test_empty_fields(driver):
driver.click_login_button()
> assert driver.assert_notification_empty_email_field() == "Required"
E AssertionError: assert None == 'Required'
E + where None = <bound method LoginPage.assert_notification_empty_email_field of <Pages.Login.LoginPage.LoginPage object at 0x000001820298CAC8>>()
E + where <bound method LoginPage.assert_notification_empty_email_field of <Pages.Login.LoginPage.LoginPage object at 0x000001820298CAC8>> = <Pages.Login.LoginPage.LoginPage object at 0x000001820298CAC8>.assert_notification_empty_email_field
Test\test_suit.py:17: AssertionError
И еще вопрос. По фикстурам. В ней я объявляю драйвер и передаю его в инстанс. Почему уже после в модуле теста я не могу его вызвать. Например там где ассерт я не могу обратиться к драйверу и сказать: :assert_notification_empty_email_field().is_displayed()
. Ругается что нет функции ‘is_displayed’