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

Фотография

Как открыть и переключиться в selenium на новое окно IE


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

#1 tataana

tataana

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Завалий Татьяна Алексеевна


Отправлено 19 ноября 2018 - 13:34

Всем привет. Подскажите пожалуйста, как через selenium открыть и переключиться на новое окно IE?
JavaScriptExecutor для IE не работает, попыталась открыть окно через горячие клавиши, т.е. вот так: 

driver.findElement(By.cssSelector("Body")).sendKeys(Keys.CONTROL + "t");

вкладка открылась, но selenium её не видит и driver.getWindowHandles()  возвращает только один handle - старой страницы.

Попыталась открывать новое окно, а не вкладку, т.е сочетание клавиш ctrl+n, но это почему-то не срабатывает. Т.е. вот это:

driver.findElement(By.cssSelector("Body")).sendKeys(Keys.CONTROL + "n"); 

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

Помогите пожалуйста


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 19 ноября 2018 - 19:59

 

 

Всем привет. Подскажите пожалуйста, как через selenium открыть и переключиться на новое окно IE?

вам это не надо

 

а если надо, то значит пытаетесь тесты неправильно написать


  • 0

#3 tataana

tataana

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Завалий Татьяна Алексеевна


Отправлено 20 ноября 2018 - 13:42

 

 

 

Всем привет. Подскажите пожалуйста, как через selenium открыть и переключиться на новое окно IE?

вам это не надо

 

а если надо, то значит пытаетесь тесты неправильно написать

 

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


  • 0

#4 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 20 ноября 2018 - 15:47

 

 

 

 

Всем привет. Подскажите пожалуйста, как через selenium открыть и переключиться на новое окно IE?

вам это не надо

 

а если надо, то значит пытаетесь тесты неправильно написать

 

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

Spock намекает что вы пытаетесь сделать фигню. либо по смыслу, либо по способу. 
Чтобы понять надо идти от цели. Чего пытаетесь достичь вторым браузером?


  • 0

#5 tataana

tataana

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Завалий Татьяна Алексеевна


Отправлено 20 ноября 2018 - 16:19

сценарий такой:
регистрируюсь на сайте, в одном шаге нужно подтвердить данные на стороннем ресурсе. у меня туда нет доступа никакого, кроме тестовой фронтовой странички. а после подтверждения - на моем тестируемом сайте БЕЗ ОБНОВЛЕНИЯ СТРАНИЦЫ должен меняться статус пользователя и соответсвтенно отображаемая инфа .

итого имеем: тестируемый сайт site1, и сторонний, вспомогательный site2, которые работают параллельно друг другу. 
 


  • 0

#6 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 20 ноября 2018 - 16:49

По способу.

У вас косяк на уровне архитектуры.

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


  • 1

#7 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 20 ноября 2018 - 20:09

автоматизированный е2е тест сложный в этом случае, потратите кучу ресурсов, а потом тест будет хрупкий и валиться - а какое value получите? в минус по ROI уйдете

 

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

 

 

 

на моем тестируемом сайте БЕЗ ОБНОВЛЕНИЯ СТРАНИЦЫ должен меняться статус пользователя и соответсвтенно отображаемая инфа

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

 

то есть получается что вы пытаетесь тестировать не на том уровне тестовой пирамиды


  • 0

#8 tataana

tataana

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Завалий Татьяна Алексеевна


Отправлено 21 ноября 2018 - 07:56

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

Это сторонний ресурс(ЦУПИС) - мы должны наших пользаков еще и там подтверждать, но доступа туда нет. я не могу попросить их предоставить юнит-тесты, и нет доступа к их АПИ.  то, что я могу обойти запросами - я итак обхожу. но в конкретном случае единственный способ - заходить на фронтовую тестовую страничку.

Можете просто ответить на вопрос, как открыть второе окно IE в том же driver? 

П.С.: вариант с открытием второго IEDriver возможен, но хотелось бы обойтись и без этого


  • 0

#9 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 21 ноября 2018 - 12:39

 

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

Это сторонний ресурс(ЦУПИС) - мы должны наших пользаков еще и там подтверждать, но доступа туда нет. я не могу попросить их предоставить юнит-тесты, и нет доступа к их АПИ.  то, что я могу обойти запросами - я итак обхожу. но в конкретном случае единственный способ - заходить на фронтовую тестовую страничку.

Можете просто ответить на вопрос, как открыть второе окно IE в том же driver? 

П.С.: вариант с открытием второго IEDriver возможен, но хотелось бы обойтись и без этого

Я не могу ответить. Но с вероятностью 95% ответ будет никак. 

Сторонний ресурс надо мокать.

Или оборачивать в сервис удобный для тестов.

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


  • 0

#10 tataana

tataana

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Завалий Татьяна Алексеевна


Отправлено 21 ноября 2018 - 15:16

понятно. спасибо


  • 0

#11 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 21 ноября 2018 - 16:32

 

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

 

 

Это сторонний ресурс(ЦУПИС) - мы должны наших пользаков еще и там подтверждать, но доступа туда нет. я не могу попросить их предоставить юнит-тесты, и нет доступа к их АПИ.  то, что я могу обойти запросами - я итак обхожу. но в конкретном случае единственный способ - заходить на фронтовую тестовую страничку.

вы не поняли. вы тестируете компонент который показывает статус пользователя без перезагрузки страницы

 

этот компонент находится в вашем приложении. попросите разработчика написать юнит-тест для этого компонента

 

вот юнит-тест и будет проверять как меняется статус компонента для отображения статуса пользователя


  • 0


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

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