Сервер Appium 2.x отклоняет действительные возможности W3C от клиента Python (v5.2.4) – InvalidArgumentExceptionPython

Программы на Python
Ответить
Anonymous
 Сервер Appium 2.x отклоняет действительные возможности W3C от клиента Python (v5.2.4) – InvalidArgumentException

Сообщение Anonymous »

Мне заблокирована автоматизация мобильного приложения (Flipkart/Myntra) с использованием Appium 2.x и Appium Python Client (v5.2.4) из-за постоянного исключения InvalidArgumentException.
Сервер отклоняет запрос сеанса, заявляя, что обязательные ключи W3C (

Код: Выделить всё

platformName
и AutomationName) отсутствуют, хотя они явно присутствуют в структуре возможностей. Это указывает на ошибку форматирования в том, как старый клиент Python создает окончательную полезную нагрузку JSON.

1. Подробности среды

  • Версия сервера Appium: v3.1.0 (Запускать с --base-path /wd/hub)
  • Версия клиента Appium Python: 5.2.4 (Подтверждено списком pip3)
  • Операционная система: macOS
  • Цель: автоматизировать запуск и взаимодействие собственных приложений.

2. Error Traceback

При запуске сеанса возникает следующая ошибка:

Код: Выделить всё

selenium.common.exceptions.InvalidArgumentException: Message: 'automationName' is required to be present; 'platformName' is required to be present
Stacktrace:
InvalidArgumentError: 'automationName' is required to be present; 'platformName' is required to be present

3. Код возможностей Python (неудачная структура)

Я попробовал использовать рекомендованную структуру с открытым ключом для старых клиентов, но ошибка не устранена:
Python

Код: Выделить всё

# The structure that results in InvalidArgumentException:
caps = {
"alwaysMatch": {
"platformName": "Android",
"automationName": "UiAutomator2",
"deviceName": "emulator-5554",
"appium:appPackage": "com.flipkart.android",
# ... (other appium: prefixed capabilities)
},
"firstMatch": [{}]
}

# The bare-key format is failing to generate a W3C-compliant request for the server.

4. Попытки исправить (все не удалось)

  • Принудительное обновление: Неоднократные попытки обновить Appium-Python-Client не удались, поскольку pip постоянно переустанавливал старую версию v5.2.4 из блокировки локального кэша/системного пути.
  • Обмен пространства имен: Проверено используя полностью префиксные ключи (

    Код: Выделить всё

    "appium:platformName"
    ), который также был отклонен.
  • Плоский словарь: Полностью отказался от структуры W3C, что также привело к сбою.
Вопрос: Существует ли известное конкретное обходное решение JSON или исправление/уловка библиотеки Python, которая заставляет Appium-Python-Client v5.2.4 для правильной генерации полезных данных W3C JSON, которые будет принимать Appium Server 2.x, учитывая невозможность обновления версии клиента?

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-v5-2-4-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»