Selenium Grid Chrome

Hey guys, I was trying to manually spin up a quick selenium grid to make it elastic for our automated testers in rancher. I’ve installed the selenium app and have it working with some port and config map tweaks. It scales up just fine but when scaling back down the hub container redeploys and the chrome containers do not connect back to the grid without a redeploy.

I have tried implementing this as well, but ran into similar issues. I was never able to get scaling to work correctly with vanilla selenium, and even with static number of chrome instances after a day or so the connection to hub would stop working correctly. We would have to redeploy hub and chrome containers for it to start accepting tests again. If we just redeployed hub, the chrome instances would not connect back in as you seem to be seeing as well.

We had a bit more luck with Zalenium . Autoscaling of chrome nodes worked better, and was done on the fly while test were running, and would scale back down to couple instances for chrome running. Zalenium also adds some features our testers also liked, where you could watch the tests live while they were running (all though this seemed buggy sometimes), the tests were recorded and viewable from a webdashboard, and from the same dashboard you could view the logs from each test.
The issue we ran into though was if you sent more then a handful of test at the same time after a few successfull sessions the tests would start to fail. Example. If ran the tests with say 10 simultaneous the first 8 would run correctly but that last 2 would fail. When you viewed the logs and the recorded video you could see the request for the test, but then the data for what to actually test, would never make it, and eventually it would time out.

Hey Jon, thanks for your response. After downloading the selenium app from the repo and installing we experienced the exact same issue. Scaling up to 1000 chrome worked fine but scaling back down would disconnect everything and would have to redeploy to get the chrome containers to reconnect to the grid hub. I was also trying to deploy zalenium but didn’t get very far as I was pulled off to other projects. I’ll explore the zalenium option more this week. We’re going to need a very large scalable solution.

Jon, do you have any details or documentation on how you set this up in Rancher by chance?

I’m the Director of Community at Rancher and a huge Selenium fan. I used to teach it back in my development days. I have not tried it with K8s yet or with Rancher yet, but it’s on my todo list. If you all are interested, I’d love to collaborate on a blog post to that effect and give it a push with the Rancher social media team.

Hey man, absolutely. I’ve spun up a selenium grid currently in my home lab using my center server. I’m trying to work on a POC for my company to use. Preferably I’d like to use zalenium so it will be elastic to minimize/maximize the companies on prem resources in our vmware environment.

Jason, I’d really like to get the elk stack scalable and working correctly with persistent volumes as well for a POC. I’m still green and learning kubernetes and Rancher.

@areed Are you in our slack workspace. We can chat about this I’m “@jvb” there. If not e-mail me at jvb at rancher and we can arrange to work on this

I am in your slack workspace. Just messaged you.

How is the status of getting selenium running inside rancher? Did you create a tutorial :smiley: :smiley: ?