wrike/callisto

Selenide support

Opened this issue · 5 comments

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

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

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 - aerokube/selenoid#76

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

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.

TilBlechschmidt/WebGrid#79

image

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;