Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

работа с модальным окном исользуя capybara


(Александра Литвиненко) #1

Добрый день
нужна Ваша помощь.
при входе в админку на сайте, выпадает модальное окно с вводом логина и пароля.
https://drive.google.com/file/d/0B_p_8v3bLW8EYXY0VmxJUHpCWkU/edit?usp=sharing
как можно отловить это окно. так как при выводе общего количества окон выдает 0.
Пробывала в Selenium IDE он его не видит.
Используем Capybara+ Poltergaist
Шаги:

  1. ввожу адрес сайта
    Результат: пустое окно браузера и сразу отображается модальное окно

(Dmitry Cheremushkin) #2

День добрый.


Обычно для авторизации используется следующее решение:

if page.driver.respond_to?(:basic_auth)
  page.driver.basic_auth(name, password)
elsif page.driver.respond_to?(:basic_authorize)
  page.driver.basic_authorize(name, password)
elsif page.driver.respond_to?(:browser) && page.driver.browser.respond_to?(:basic_authorize)
  page.driver.browser.basic_authorize(name, password)
else
  raise "I don't know how to log in!"
end

Альтернатива — передавать данные авторизации в URL, при открытии страницы

http://username:password@www.example.com


(Александра Литвиненко) #3

не вышло авторизировать юзера(
Poltergaist открывает пустую страничк. при выводе : current_url => auto:blank
webkit открывает но не логинит( current_url => http://ip:port , но не логинит
2. способ передать данные в url пока не вышле, так как только при открытии окна я знаю на каком порту запустился сервер, он запускается каждый раз на разном порту.
подскажите как вытянуть адресс/порт не открывая браузер?

в инете пишут, что это так просто… а у нас не выходит…
что проверить? что мы можем упустить? подскажите!


(Александра Литвиненко) #4

ух… как оказалось нужно было сделать рефреш странички)