1

When trying to run the tests using Karate in Selenoid containers - it works, but I can't see what is going on there through the vnc container. When we use Selenoid without Karate we can set driver capabilities "enableVNC":"true" and everything is working perfectly. With Karate, I suspect, the issue is that Karate is setting those capabilities somewhere to the wrong place. But since I don't have direct access to the driver I cannot set it in the way I need. Any thoughts?

And yeah, I know that Karate provides its own browser image with vnc, but it's a bad practice to use that if we have Selenoid.

Here is how driver configuration looks like:

    Examples:
  | config |
  | {type: 'chrome', addOptions: ['--incognito'], webDriverSession: { desiredCapabilities: { browserName: 'chrome', 'goog:chromeOptions': { credentials_enable_service: false, profile.password_manager_enabled: false }}}} |

Have no idea where in this json to put "enableVNC":"true"

Dmitry
  • 93
  • 1
  • 4

1 Answers1

0

We can't keep track of all the different capabilities and SaaS providers as part of the Karate project - so you may need to ask the Selenoid folks what is the magic.

Here are examples of similar discussion for SauceLabs, etc:

https://stackoverflow.com/a/63270092/143475

https://stackoverflow.com/a/60992292/143475

Peter Thomas
  • 54,465
  • 21
  • 84
  • 248
  • In case of Selenoid I can just add those capabilities to the driver instance in Java code and get VNC working. Any driver instance, except Karate's driver. It's not on the Selenoid side. – Dmitry Dec 10 '20 at 12:52
  • @DmitryMinchuk so all you need to do is find out what is passed over HTTP as part of the JSON payload and it *will work*. It may not be on the Selenoid side, but when you say `driver instance` I guess you mean Selenium or some similar webdriver "wrapper". In my opinion it is the responsibility of the Selenoid project to document what should be passed, is that available ? The Karate project makes things simple, pass the exact JSON as per the spec (and the unfortunate vendor-specific extension which is your issue) and it will work. – Peter Thomas Dec 10 '20 at 12:57