urtow
(Urtow)
09.Апрель.2015 09:59:45
#1
Здравствуйте!
Прощу помощи в вопросе ответа на который не смог найти в гугле.
Есть приложение (navite iOS и Android). В приложении есть кнопка, по нажатию на которую открывается браузер с переходом на сайт.
Как получить url, который открыт в браузере?
И второй вопрос:
Вообще возможно ли в рамках одной сессии (driver) свернуть приложение и открыть браузер?
Все что я нашел - что к браузеру надо подключаться как к отдельному приложению, то есть надо создавать еще одно подключение к девайсу.
UPDATE:
Решение первого вопроса:
установить и запустить ios_webkit_debug_proxy (через brew)
В настройках safari на телефоне включить веб инспектор
Karamba
(Константин)
09.Апрель.2015 10:29:29
#2
switch.context на вебвью пробовали?
urtow
(Urtow)
09.Апрель.2015 11:14:03
#3
switch,context работает очень странно в первом случае - иногда приложение перезапускалось, что и навело на мысли, а можно ли сделать иначе?
По второму вопросу - немного не понятно, куда переключать? Контетекста-то и нету.
Karamba
(Константин)
09.Апрель.2015 11:59:25
#4
а что вам возвращает driver.contexts ?
“Первый случай” - это какой? После каких действий приложение перезапускается?
Есть приложение (navite iOS и Android). В приложении есть кнопка, по нажатию на которую открывается браузер с переходом на сайт.
Т.е. запускается новое приложение интернет бразуер или же внутри вашего приложения открывается страничка?
urtow
(Urtow)
09.Апрель.2015 12:10:02
#5
Karamba:
а что вам возвращает driver.contexts ?
“Первый случай” - это какой? После каких действий приложение перезапускается?
> Есть приложение (navite iOS и Android). В приложении есть кнопка, по нажатию на которую открывается браузер с переходом на сайт.
Т.е. запускается новое приложение интернет бразуер или же внутри вашего приложения открывается страничка?
driver.contexts возвращает “Native_1”, “WEBAPP_1” через некоторое время после открытия браузера.
Да, запускается новое приложение Safari (на iOS).
Karamba
(Константин)
09.Апрель.2015 12:39:42
#6
Если не затруднит, можете показать, что для андроида возвращает driver.contexts, когда открывается браузер.
А также, какой браузер открывается на андроиде?(стоковый или mobile chrome)
И с этого браузера вам нужно только урл получить?
urtow
(Urtow)
09.Апрель.2015 13:07:17
#7
К сожалению, затруднит. Сейчас есть только iOS версия, android будет позже, вопросы был с заделом.
Да, из этого браузера (который открывается по нажатию на кнопку) надо получить только URL
Karamba
(Константин)
09.Апрель.2015 13:14:01
#8
К сожалению с IOS почти не работал(
Допустим в данном случае как можно было бы попробовать сделать. На примере с андроидом и мобильным хромом. С браузером работать в нативном контексте, как с приложением. Адресная строка это отдельный элемент, который имеет айдишники и т.п., в том числе из адресной строки можно получить текст который будет являться вашим урлом ну и вам остается только сравнить текст.
К сожалению, как в мобильном сафари это выглядит я не ведаю. И можно ли вообще мобильный сафари инспектировать как приложение.
urtow
(Urtow)
09.Апрель.2015 13:17:48
#9
Инспектор, встроенный в Appium.app (Который использует instruments) не умеет
Спасибо! Буду знать что на Android задача не самая сложная, так как браузер в принципе не важен - важен url
Karamba
(Константин)
09.Апрель.2015 13:25:09
#10
Расскажите, если получится решить вашу проблему с IOS.
Вскоре тоже предстоит переключиться на автоматизацию IOS приложений. Так что любая информация будет полезной
urtow
(Urtow)
09.Апрель.2015 13:33:59
#11
Да вот чую можно будет доклад на эту тему писать
urtow
(Urtow)
09.Апрель.2015 18:00:07
#12
Внезапно нашлось решение, без переключения контекста.
С Safari можно работать так же как с простым приложением - но для этого нужны две вещи:
Установить и запустить ios_webkit_debug_proxy (ставится на mac через brew)
В настройках сафари (Settings - Safari - Advanced) включить веб инспектор.
И все, дальше можно работать как с обычным приложением.
В частности найти URL можно по name как ни странно URL
2 лайка