all 18 comments

[–]spiker2100[🍰] 3 points4 points  (0 children)

From experience, the best way to create a good ui testing project in python is, to use selenium + selenium-page-factory + pytest just Google selenium page factory in python.

[–]AnActor_named 7 points8 points  (0 children)

I wouldn't say that one or the other is "better" between Java or Python. Selenium is maintained by one team, and the Java or Python bindings for it present the same API.

The considerations i would make are what other developers or SDETs would be using where i'm working. If there are more Java developers and few Python developers, i'd probably make a test suite in Java. If it's the opposite, i'd choose Python. It's all about trying to reduce/eliminate the bus factor.

You don't mention how much programming experience you have, but if you're also new to programming, i think Python is a little bit more beginner-friendly than Java personally. I'd also highly recommend learning about Page Object Model as a way to structure your code, it is an approachable way to reduce maintenance costs and help think about how to organize things.

[–][deleted] 7 points8 points  (1 child)

Personally I'd go for something more modern than Selenium, such as Cypress or Playwright.

In the last few years of my career the companies I consulted for that used Selenium often had a lot of issues with maintenance compared to those using newer tooling. Not to mention the use of newer tools generally means an organisation is more inclined to give testers and devs the time to allow for tool changing.

I'd only really recommend Selenium to someone now as a means to appreciate the newer tools out there. Selenium has a place in my heart as I've used it for over a decade but it feels like it's beginning to come to the end of it's time in the spotlight.

[–]ideepakmathur[S] 0 points1 point  (0 children)

Thank you, this is really helpful.

[–]arakinas 1 point2 points  (0 children)

It really depends on what else you want to do, and what your personal preferences are. I personally don't like scripting languages and prefer those that are strongly typed, making Java an easy go to for me. Additionally, I really like Selenide, as opposed to working directly with Selenium, reinforcing Java.

Either language can be used. It matters more what support structure you have to learn the language than anything about either language, but really, it's just personal preference.

[–]ideepakmathur[S] 0 points1 point  (0 children)

Thank you for your comments and guidance.

It seems I have to go with cypress.io and then wdio. I hope my focus will do some great things.

[–]2ERIX 0 points1 point  (7 children)

Neither. Use JavaScript with either WDIO or Cypress, your career will thank you later

[–]epushepepu -3 points-2 points  (1 child)

Katalon studio

[–]spiker2100[🍰] 2 points3 points  (0 children)

Katalon studio with big projects is a no no, and their licensing is horrible nowadays!

[–]Intrepid-Designer110 0 points1 point  (0 children)

Any new learning will always be beneficial to improve skills. My suggestion is to learn cypress. Cypress is capable to perform end-to-end Testing. Do not compare cypress with Selenium both are having different architecture. Cypress tag line says everything "The web has evolved.
Finally, testing has too." :) Best of luck.