Thank you for the detailed explanation on the issue. I should have provided more information the configuration at the beginning. So, I use Docker compose to run the grid and below is the config file.
version: '3.7'
services:
hub:
image: selenium/hub:3.141.59-20201119
ports:
- '4444'
environment:
- GRID_BROWSER_TIMEOUT=120
- GRID_TIMEOUT=240
logging:
driver: 'none'
chrome:
image: selenium/node-chrome:3.141.59-20201119
shm_size: 2G
# Disable verbose browser logs
logging:
driver: 'none'
links:
- hub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
- NODE_MAX_INSTANCES=1
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1080
- SCREEN_DEPTH=24
test:
build:
context: .
target: BASE
environment:
- END_POINT=$END_POINT
- WDIO_PARAMS=$WDIO_PARAMS
- MAX_INSTANCES=2
volumes:
- ./allure-results:/data/app/demo/allure-results
command: >
sh -c './bin/wait-for.sh --timeout=120 $END_POINT/health &&
./bin/wait-for-grid.sh --host hub --port 4444 --timeout 120 &&
./node_modules/.bin/wdio ./test/e2e/config/wdio.ci.docker.conf.js $WDIO_PARAMS'
links:
- hub
- chrome
__________________________________________________________________________________________________________________
We use Allure to capture screenshots and for the failed test it was noticed that the browser was opened and intended page was loaded too and element was present too. When you say an OS level dialog box must have opened then shouldn't it be captured on the screen?
Looking at the config file, do you think I can play around with timeout values maybe? Or increase max number of instances?