wrike / callisto

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

Selenide support #11

Open mihailsaver opened 9 months ago

mihailsaver commented 9 months ago

Hello,

Its more a generic question, im trying to integrate our selenium tests with callisto however i have faced an issue that after browser session is created other commands cannot reach browser and tests fails with No webdriver is bound to current thread

Have you tried to use selenide with callisto? Or maybe you have an idea what should be done to make it working.

Thank you

mihailsaver commented 9 months ago

I have managed to run tests, issue was that i tried to run firefox tests with wrong configuration. However faced another issue with selenide and firefox that its not possible to upload files , and im getting error InvalidArgumentException: File not found: null. With chrome config everything is fine

mihailsaver commented 9 months ago

After digging up a little bit looks like as firefox selenoid container started inside browser container and thats not happening for chrome Looks like somehow i need to mount directories, unfortunately im not really familiar with docker configs inside selenoid, so maybe you can give some advice what should i do? How to pass some changes to browsers.json?

I see that file itself is uploaded to container, something fails futher image

Something similar described here - https://github.com/aerokube/selenoid/issues/76

mihailsaver commented 9 months ago

And im here again :D Looks like callisto not handling values in response when file upload finished and not giving it back to selenide

Code part from another project image

https://github.com/TilBlechschmidt/WebGrid/blob/main/core/modules/src/node/proxy/file_upload.rs

For selenide response that i get image

But in other webgrid value is set to file location image

For callisto and FF i see that response returns this values image

mihailsaver commented 9 months ago

And looks like i have found the reason, Due to content type returned we are not parsing value parameter, and hence setting it null. Possibly we need to intercept request and change content type. I changed content type in debugger and everything as fine.

https://github.com/TilBlechschmidt/WebGrid/pull/79

image

mihailsaver commented 9 months ago

Setting this params to nginx config made it work, should be a better one but anyway

    proxy_hide_header Content-Type;
    add_header Content-Type application/json;