Перейти к содержимому

Фотография

Selenium Python: одна фикстура для нескольких классов.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Baloo

Baloo

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Сергей


Отправлено 06 октября 2016 - 10:45

Доброго дня!

Есть сайт для рекрутингового агентства.

 

На этом сайте есть раздел личный кабинет(профиль), вакансии, поиск.

 

Для удобства я разбил это все по трем классам Profile, Vacancy, Search.

 

Возник вопрос: а как написать одну фикстуру для трех классов? Можно ли использовать три фикстуры, но в рамках одной сессии?

 

если я использую return Profile(driver), Vacancy(driver), Search(driver), то код получается не очень читаемый

fixture(0).open_profile, fixture(1).create_vacancy

 

 

 


  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 06 октября 2016 - 12:43

А зачем вообще писать код для вызова тестов?

Можно взять готовый тестовый фреймворк, pytest, к примеру. А сессию хранить в отдельном классе.


  • 0

#3 Baloo

Baloo

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Сергей


Отправлено 06 октября 2016 - 12:54

А зачем вообще писать код для вызова тестов?

Можно взять готовый тестовый фреймворк, pytest, к примеру. А сессию хранить в отдельном классе.

Не совсем понял вопроса.

Для запусков я использую pytest, оттуда и идет фикстура.

 

В фикстуре я определяю браузер, который буду использовать, урл, логин\пароль для админа и другие тестовые параметры.


  • 0

#4 aid

aid

    Опытный участник

  • Members
  • PipPipPipPip
  • 448 сообщений
  • ФИО:Николай


Отправлено 06 октября 2016 - 13:21

У вас код скорее всего говно не организован. Почитайте про PageObject и PyTest более долго и глубоко и перепишите, проблема скорее всего решится. Если нет, гото начало предложения.


  • 0

#5 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 07 октября 2016 - 08:10

А зачем вообще писать код для вызова тестов?
Можно взять готовый тестовый фреймворк, pytest, к примеру. А сессию хранить в отдельном классе.

Не совсем понял вопроса.
Для запусков я использую pytest, оттуда и идет фикстура.

В фикстуре я определяю браузер, который буду использовать, урл, логин\пароль для админа и другие тестовые параметры.
Ну, значит, я не понял исходного вопроса ))
Последняя строчка выглядит так, будто вручную написан код по вызову тестов.

Но раз уже есть pytest, ничто не мешает сделать фикстуру со scope="session".
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных