Smart wait when running test cases in Docker containers

Hi Katalon team,

I would like to ask about the “Smart wait” feature in Katalon. It seems the feature is not working as expected when running test cases in the Docker container.
The Smart wait has been enabled in the setting and also be added as a step in the test cases. However, the test cases are still failed due to timing issues.
I am using the Katalon Enterprise version 7.7.2 and the Docker compose version 3.0
Please give me some advice to overcome this issue

Thank you in advance for your time and support

1 Like

@Lyn.Hoang

Does this mean you are getting different execution results when executing the same test suite in KSE versus in Docker image ?

Hi ThanhTo,

That is right. The test cases were passed when running on Chrome local, however, they were failed when running on Docker containers (remote). This reason for failing is because of the timing issue. The smart wait may not be working properly.

@Lyn.Hoang

What version of Runtime Engine does your Docker use ? Is it the latest image ?

Hi Thanh,
I am using the version 19.03.13 which is the latest version

@Lyn.Hoang

I mean the Katalon image, not the Docker version, apology for the confusion. Anyway, can you pull the latest docker image of Katalon and try again ? We just updated the 7.8.1 image which fix a problem of Smart Wait not being triggered during execution, it may be the cause to your test failures. Please try that and let me know.

Hi Thanh To,

I tried to pull the latest Katalon Docker image. Unfortunately, I got an exception showed below.

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

I have created a docker account and log in from Docker dashboard, then pull it, but it didn’t work.

Even I tried “docker login” by CLI, I also got the same exception.

Can you please indicate a direction to resolve this issue?

Hi Thanh,
Thank you for your quick response to my question. I am using Selenium Grid docker-compose version 3.0. Do you have a docker-compose for the Katalon? If not, could you please tell me how to use the 7.8.1 Katalon image with the docker-compose? Below is my docker-compose file

version: “3”
services:
chrome:
image: selenium/node-chrome-debug:3.141.59-20201119
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- http_proxy=http://proxy.com:8080
- https_proxy=http://proxy.com:8080
- DISPLAY=:99
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1080
- NODE_MAX_SESSION=1
- NODE_MAX_INSTANCES=1
- SE_NODE_MAX_CONCURRENT_SESSIONS=1
ports:
- “6900-6910:5900”

selenium-hub:
image: selenium/hub:3.141.59-20201119
container_name: selenium-hub
ports:
- “4444:4444”

We have a docker image for Katalon, are you using this ?

What’s your current set up ?

Hi Thanh,
Currently, I use docker-compose to start containers from the docker-compose file above.
Command to start containers from docker-compose file:
docker-compose up --scale chrome=3 -d

This docker-compose will start up a Selenium Grid with one hub and multiple nodes to run our test suite collection.
In Katalon, I changed the setting of Remote web serve url to http://localhost:4444/wd/hub (please see the screenshot)

Then from Katalon, I execute test cases on Remote mode.

so, in fact, your issue is “smart wait not working as expected when running tests remotely on selenium grid (dockerized)”. has nothing to do with katalon docker image.

Hi Bionel,
You are correct. My question was how to apply the smart wait function of Katalon when running test cases on Selenium Grid.