Переключение ч / б вкладок в Android (Chrome) в кросс-браузерной платформе с использованием Appium / Selenium - PullRequest
0 голосов
/ 14 января 2020

Я работаю на платформе Crossbrowsertesting в Android Chrome и сталкиваюсь с проблемой, в которой мне нужно нажать на ссылку, которая открывается в новой вкладке. Мне нужно переключиться на эту новую вкладку и получить ее URL. Проблема в том, что я не могу перейти на вновь открытую вкладку и получить ее URL.

Используемый метод - При использовании driver.switchTo (). Window (child_window) я получаю ошибку ниже -

org.openqa.selenium.InvalidArgumentException: неверный аргумент: 'name' должна быть строкой.

Но то же самое хорошо работает в Windows на основе chrome (не Android chrome браузер).

Информация о платформе:

crossbrowsertesting
"browserName", "Chrome"
"deviceName", "Galaxy S9"
"platformVersion", "9.0"
"platformName", "Android"
«deviceOrientation», «портрет»

Ответы [ 3 ]

0 голосов
/ 14 января 2020

Похоже, есть ошибка в самом chromedriver. Протокол W3C требует, чтобы при вызове POST / окна был установлен дескриптор параметра, но chromedriver по-прежнему хочет name, как в JSONWP. Спецификации: здесь

Он был протестирован на бета-версии Appium v1.14.0-beta.2 и успешно работал на Android. Пожалуйста, обновите вашу библиотеку appium этой версией не ниже или выше до этой версии.

0 голосов
/ 15 февраля 2020

Я нашел решение:

Мой проект включал как веб, так и собственное представление, поэтому ниже приведено то, что я сделал

1 - использовал ChromeDriver с совместимой Android версией эмулятора

2- Переключение в режим правильного просмотра

3 - используется driver.switchTo (). Window ()

Спасибо всем за ответы.

0 голосов
/ 14 января 2020

Не могли бы вы предоставить подробную информацию об Appium / Selenium, используемом для тестирования? Я нашел эту очень похожую ошибку здесь: https://github.com/appium/appium/issues/13106 Пожалуйста, убедитесь, что ваша версия выше 1.15, чтобы подтвердить, что исправление присутствует в коде.

...