wrike / callisto

Callisto is an open-source Kubernetes-native implementation of Selenium Grid.
MIT License
110 stars 15 forks source link

[Query] - unable to interact with callisto hosted for #3

Open surevs opened 3 years ago

surevs commented 3 years ago

I have done with the setup of callisto as provided in youtube video and available instruction in chart.I am able to create a browser session using the curl command too. but is there a way we could route all the requests to http://callisto.local/wd/hub instead of creating a new session and connecting to it.

surevs commented 3 years ago

I am trying to connect from selenium using python with this code `` from selenium import webdriver

capabilities = { "browserName": "firefox", "enableVNC": True, }

driver = webdriver.Remote( command_executor="http://callisto.aws.mycloud.local/", desired_capabilities=capabilities) `` this code is actually returning a 404 - any clues on how to proceed further will help but after i have been going through the arch and how it has been setup - this is just amazing! - thanks for making it open source

srntqn commented 3 years ago

@surevs hi! Sorry for the late response. Thank you for your kind words. :)

this code is actually returning a 404 - any clues on how to proceed further will help

Could you provide nginx and callisto logs?

but is there a way we could route all the requests to http://callisto.local/wd/hub instead of creating a new session and connecting to it

Sorry but I don't get what you're trying to achieve. Could you clarify it with more details?

Anveshd commented 3 years ago

hi @srntqn Thanks for your response, I tried to debug Callisto by installing it in the k8s cluster but I was unable to switch to a different browser or configure multiple browsers.- could you please help me how to do it

levsha932 commented 3 years ago

Simplicity of Callisto is based on the fact that you don't need /wd/hub to be always-on and ready for any tests/clients to send requests for different browsers. In our experience in the most of the cases you don't need it to be always-on and to serve to different clients concurrently. So the idea is that you start new instance of Callisto when you start your tests. You know what browser you want to test in and so you can start Callisto with corresponding property. Every test run gets it's own instance of Callisto.

If for some reason you really need always ready endpoints for different browsers then with Callisto it's solvable by running several instances (while it's not the standard way of using it)

Tri0L commented 3 years ago

@surevs I thin a have same problem.

Python lib use ip instead of hostname, because of this, ingress can't find needed backend. resolve_ip=False - resolved my problem.

Try to use code like this:

driver = webdriver.Remote(
    command_executor=webdriver.remote.remote_connection.RemoteConnection('http://callisto.local', resolve_ip=False),
    options=webdriver.ChromeOptions())