Appium с реальным устройством в докер-контейнереJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Appium с реальным устройством в докер-контейнере

Сообщение Anonymous »

Пытаюсь запустить тесты Appium с использованием Docker-контейнера Appium и возникает проблема при его запуске.
Запуск образа Docker с помощью

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

docker run --privileged -d -p 4723:4723  -e ANDROID_ADB_SERVER_ADDRESS=host.docker.internal  -v /dev/bus/usb:/dev/bus/usb --name appium-container appium/appium
тогда моя установка выглядит так:

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

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("appium:deviceName", "Android Device");
cap.setCapability("appium:udid", getDeviceId());
cap.setCapability("appium:platformName", "Android");
cap.setCapability("appium:automationName", AutomationName.ANDROID_UIAUTOMATOR2);
cap.setCapability("appium:appPackage", apkType());
cap.setCapability("appium:appActivity", apkType() + ".activities.MainActivity");
cap.setCapability("appium:noReset", "true");
cap.setCapability("appium:remoteAdbHost", "host.docker.internal");
cap.setCapability("appium:autoWebview", true);
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/"), cap);
затем в докере я вижу журналы, в которых говорится:

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

2024-12-01 11:42:04 [852bea52][ADB] Running '/opt/android/platform-tools/adb -H host.docker.internal -P 5037 -s R52WC098VEH forward tcp:10900 localabstract:webview_devtools_remote_25582'
2024-12-01 11:42:04 [852bea52][AndroidUiautomator2Driver@dde5] AxiosError: Request failed with status code 500

...
1 11:42:04     data: 'Host header is specified and is not an IP address or localhost.'
2024-12-01 11:42:04   },
2024-12-01 11:42:04   status: 500
2024-12-01 11:42:04 }
И входит в intelijidea

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

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 400. Message: No such context found.
Такой контекст должен присутствовать, потому что когда я делаю то же самое, но без докера, тогда все хорошо, приложение имеет веб-контекст. Также тесты работают с нативным контекстом.
Ребята из appium предложили обновить версию uiAutomator и использовать IP
вместо хоста.docker.internal
https://github .com/appium/appium/issues/20782#issuecomment-2503630659
поэтому я изменил его на IP-адрес докера
cap.setCapability("appium:remoteAdbHost", "172.17.0.2");
также обновлен автоматизатор пользовательского интерфейса, но результат тот же, есть предложения???

Подробнее здесь: https://stackoverflow.com/questions/792 ... -container
Ответить

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

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

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

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

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