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

Фотография

Как перенести данные с одного окна браузера в другое окно


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

#1 VicProg

VicProg

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Виктор
  • Город:г. Киев


Отправлено 25 августа 2014 - 17:03

У меня такая ситуация:

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

Т.е. получается мне надо данные перебрасывать между окнами браузера, но как это сделать я понять не могу, может быть у кого то есть наработки или мысли по этому поводу? 


  • 0

#2 wret

wret

    Активный участник

  • Members
  • PipPip
  • 124 сообщений
  • Город:Москва

Отправлено 25 августа 2014 - 17:38

Вам следует переписать тест

А если по теме, то сохранять данные из первого теста в файл или бд, из второго читать эти данные


  • 0

#3 VicProg

VicProg

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Виктор
  • Город:г. Киев


Отправлено 26 августа 2014 - 09:04

А можно это как-то сделать в рамках одного теста?

Т.е. получить данные, а затем вызвать метод который бы открывал другое окно, делал бы в нем манипуляции и затем управление передавалось на первое окно и тест продолжался дальше


  • 0

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 26 августа 2014 - 09:06

Ни один тестовый фреймворк не предоставляет возможность "приостановить первый тест, потом выполнить второй, потом вернуться и продолжить выполнение первого". Это как-то вообще противоестественно, потому что это фактически не два разных теста, а один составной. Подумайте над перепроектированием тестов.

 

Ну а браузеры -- просто запустите два одновременно и работайте то с одним, то с другим, тут никаких проблем.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 26 августа 2014 - 09:22

Здесь, имхо, имеется ввиду, что есть 2 вебсайта - например, mysite.ru и админка adminka.ru

Т.е. ,для примера, ты добавил товар на сайте, например, "чай зеленый" - потом открыл админку, и посмотрел, что там тоже есть "чай зеленый", потом переключился на сайт и переименовал "чай зеленый" в "чай черный" - зашел в админку, посмотрел, что там тоже "чай черный"

 

Ну а работать с переключениями окон- не проблема:

driver.switchTo().window(handler)

 

Т.е. алгоритм примерно такой:

String mySiteHandler = driver.getWindowHandle();

Тут открываем админку и надо туда переключится:

 

Set<String> allHandlers= driver.getWindowHandles();

allHandlers.removeAll(mySiteHandler);

 

String adminkaHandler= allHandlers.iterator().next();

 

т.е. ты получил 2 хендлера и переключаешься между ними, как хочешь


  • 1

#6 sttester

sttester

    Активный участник

  • Members
  • PipPip
  • 111 сообщений

Отправлено 26 августа 2014 - 11:14

Сделай так:
1.В первом тесте  - сохраняешь данные куда-нибудь,файлик или БД
2.Во втором тесте - читаешь данные из файлика или БД
3.В третьем тесте - пишешь то что нужно доделать (может какие-то данные нужно считать из второго теста,сохранив их предварительно)
4.Далее можешь создать testsuite для последовательного запуска этих трёх тестов


  • 0

#7 sttester

sttester

    Активный участник

  • Members
  • PipPip
  • 111 сообщений

Отправлено 26 августа 2014 - 11:21

Если в одной тестовой сессии, то попробуй открыть сайт1, что-нибудь поделать, открыть сайт2 в новом окне-что нибудь поделать,закрыть, перевести фокус на старый сайт и доделать оставшееся.
В хелпах селениума ещё глянь


  • 0

#8 Deformator

Deformator

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

  • Members
  • Pip
  • 10 сообщений

Отправлено 02 сентября 2014 - 12:01

Ни один тестовый фреймворк не предоставляет возможность "приостановить первый тест, потом выполнить второй, потом вернуться и продолжить выполнение первого". Это как-то вообще противоестественно, потому что это фактически не два разных теста, а один составной. Подумайте над перепроектированием тестов.

Ну приостановить и продолжить думаю можно, если унаследовать классы тестов от Thread, а затем вызывать соответствующие методы в желаемых местах. Но как по мне это извращение. Проще залогировать все в файл, а затем парсить из него то, что тебе нужно. Думаю в рамках 1-го теста это все можно реализовать.


  • 0

- Ты программист?

- Нет, я тестировщик.

- А кто это?



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

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