docker-selenium
docker-selenium copied to clipboard
[🐛 Bug]: Using Relay Feature in Grid 4 with Selenium Node Docker
What happened?
The problem
I would like to configure 2 different relay using SE Node Docker via docker compose. Grid setup is successful but when I execute the test, I get the error as below:
Maven Surefire Plugin Log
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Could not start a new session. New session request timed out
Environment
- Appium version : 2.0.0-beta.43
- Appium drivers : UIAutomator2 v2.4.9
- Node.js version: 16.17.0
- Mobile platform/version under test: Android API 32 & Android API 33
- Real device or emulator/simulator: emulator
Server Configurations
appium1.yaml
server:
port: 4723
keep-alive-timeout: 80
session-override: true
use-drivers:
- uiautomator2
appium2.yaml
server:
port: 4724
keep-alive-timeout: 80
session-override: true
use-drivers:
- uiautomator2
Nodes
[server]
port = 5555
[node]
detect-drivers = false
[relay]
url = "http://host.docker.internal:4723"
status-endpoint = "/status"
[[relay.configs]]
max-sessions = 1
stereotype = '{"platformName":"android","appium:automationName":"UIAutomator2","appium:udid":"emulator-5554","appium:platformVersion":"12","appium:systemPort":"8101"}'
[server]
port = 5556
[node]
detect-drivers = false
[relay]
url = "http://host.docker.internal:4724"
status-endpoint = "/status"
[[relay.configs]]
max-sessions = 1
stereotype = '{"platformName":"android","appium:automationName":"UIAutomator2","appium:udid":"emulator-5556","appium:platformVersion":"13","appium:systemPort":"8102"}'
Configuration Steps to Reproduce
1 - Create and start the two virtual devices.
2- Start Appium servers
appium server --config /path/to/appium1.yml
appium server --config /path/to/appium2.yml
3- Execute the yml file
docker-compose -f docker-compose.yml up
When sending a request to get grid status info:
curl http://localhost:4444/status
{
"value": {
"ready": true,
"message": "Selenium Grid ready.",
"nodes": [
Link to Appium logs
https://gist.github.com/burakkaygusuz/328df48de302dd5d1f8e2280f64a9d47
Command used to start Selenium Grid with Docker
version: "3"
services:
node-1:
container_name: node-1
image: selenium/node-docker:4.4.0-20220831
volumes:
- ./src/test/resources/nodes/node_1.toml:/opt/bin/config.toml
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_OVERRIDE_MAX_SESSIONS=true
- SE_NODE_MAX_SESSIONS=1
extra_hosts:
- "host.docker.internal:host-gateway"
node-2:
container_name: node-2
image: selenium/node-docker:4.4.0-20220831
volumes:
- ./src/test/resources/nodes/node_2.toml:/opt/bin/config.toml
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_OVERRIDE_MAX_SESSIONS=true
- SE_NODE_MAX_SESSIONS=1
extra_hosts:
- "host.docker.internal:host-gateway"
selenium-hub:
image: selenium/hub:4.4.0-20220831
container_name: selenium-hub
environment:
- SE_NODE_SESSION_TIMEOUT=300
- SE_SESSION_REQUEST_TIMEOUT=30
- SE_SESSION_RETRY_INTERVAL=5
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
Relevant log output
selenium-hub | 10:19:41.653 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "ff4bc9ad2c6ceef61831353a9bdc5d83","eventTime": 1662113981653161269,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue","http.host": "localhost:4444","http.method": "POST","http.request_content_length": "1147","http.scheme": "HTTP","http.status_code": 500,"http.target": "\u002fsession","http.user_agent": "selenium\u002f4.4.0 (java windows)"}}
Operating System
macOS 12.4 & Windows 11
Docker Selenium version (tag)
4.4.0-20220831
Can you share the complete logs? I mean, I cannot know what the issue is with just a single line. Right?
@diemol Selenium Docker log: https://gist.github.com/burakkaygusuz/d22ccf0df4d44725d93d2d848fbc3f0e Appium log: https://gist.github.com/burakkaygusuz/328df48de302dd5d1f8e2280f64a9d47
Fixed in version 4.5.0-20221004