Сервер отклоняет запрос сеанса, заявляя, что обязательные ключи W3C (
Код: Выделить всё
platformName1. Подробности среды
- Версия сервера 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, что также привело к сбою.
Подробнее здесь: https://stackoverflow.com/questions/798 ... t-v5-2-4-i
Мобильная версия