содержимое test_homepage.py
def test_insurance_pages_open_successfully_using_fixtures(page_object, load_home_page, insurance_data):
page_object.open_insurance(insurance_data)
assert page_object.ui.contains_text('Buying two-wheeler insurance from Coverfox is simple')
open_insurance
функция в объекте страницы home_page.py
def open_insurance(self, insurance):
self._ui.move_to(locators.drp_dwn_insurance)
self._ui.click(format_locator(locators.lnk_insurance, insurance))
move_to
функция в другом file.py
def move_to(self, locator):
to_element = self.find_element(locator)
print("element value", to_element)
self.action.move_to_element(to_element).perform()
Здесь я пытаюсь указать, что test_insurance_pages_open_successfully_using_fixtures
принимает 3 прибора в качестве аргументов 1 .
page_object
, который предоставляет объект страницы на уровне сеанса 2 .
load_home_page
для повторной загрузки домашней страницы на уровне сеанса 3 .
insurance_data fixture
в conftest.py
, который список поставщиков текстов ссылок читает из некоторого CSV-файла
Таким образом, по сути, он загрузит страницу и откроет все ссылки по одной для веб-сайта -https://www.coverfox.com/
Первый тестовый пример проходит для ссылки Двухколесное страхование, но для 2-го запуска тестовых данных он не проходит, исключая ссылку на устаревший элемент в точке, где он пытается перейти к (move_to
function) страховая ссылка снова.
Я нигде не храню элементы, а функция написана так, что она снова найдет элемент.
Что вызывает это? Или Pytest выполняет какое-то кэширование элементов в фоновом режиме