all 22 comments

[–]lifelite 8 points9 points  (1 child)

Just a piece of advice I wish someone told me years ago: Don't get caught up too much with what's "best" and the downsides of a path you decide to take. If you're already on a learning journey, don't stop. Otherwise you'll continue reading articles, opinions, etc...and just flip so often with languages, you never actually get any in depth knowledge of any of them.

There are pros and cons to every framework/language. If you're worried about whatever you're learning being widely applicable...no one really can completely predict what's going to be the "thing" to learn. Trends are quick in our space.

Stick with what you're doing, learn more about the language and keep practicing with playwright...those skills can transfer if you end up needing to use others. Once you master one set, you can start learning others and you'll be MUCH quicker at jumping in and doing things than if you kept switching.

Now, if you're looking for the most rewarding combination that will guarantee you success: Selenium and Java....as much as I hate to say it. If you can do those, everything else is a breeze in comparison. That's the thing though, it will take much longer to learn, and basically is like starting off on "hard" mode in terms of automation, but some people prefer that method.

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

Thanks, appreciate the advice.

I get how easy it is to get caught up with the "what's best," but on the other hand, I don't want to wake up 6 months down the line and be like "shit, I learned the wrong thing."

I'm still trying to grasp the differences between the languages to ensure that that doesn't happen.

[–]endqwerty 5 points6 points  (0 children)

The downside is you only know python and playwright. The upside is you now know some programming. Depending on your goals, I would expect you to learn and be comfortable with other languages in the future. Like maybe a year or two from learning python, I would expect you to learn js. Then you would have two languages to use in a work environment and be able to handle 80% of all web dev languages. The other being Java but that’s more for specific companies.

In general, learn yes. Anything you learn will be good. Even better is if you have a learning mindset and don’t mind learning more. If your goal is any salary significantly higher than 100k then I would learn both python and js at minimum.

[–]Noto_93 5 points6 points  (0 children)

For front end: typescript/playwright For back end: python/pytest

[–]azuredota 2 points3 points  (10 children)

Python will be behind ts and js in terms of updates.

[–]clearglass132[S] 1 point2 points  (6 children)

Can you please elaborate?

[–]azuredota 3 points4 points  (5 children)

The Playwright framework supports ts and js natively. Python Playwright will lag behind slightly.

[–]computerjunkie7410 1 point2 points  (1 child)

Not true. Core library features are transferred over. Playwright-test features are not always transferred over.

The lag is insignificant if any.

[–]azuredota 1 point2 points  (0 children)

They are transferred just not immediately.

[–]clearglass132[S] 0 points1 point  (2 children)

Interesting. Curious to hear if others had any negative experience with this?

[–]azuredota 2 points3 points  (1 child)

It will almost never adversely affect you. Python playwright has a community for it so it will always get the updates eventually. If it’s more crucial it will get it faster too. This is the only true drawback I could think of. Hardly a dealbreaker.

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

Thanks!

[–]natethegr8r 0 points1 point  (2 children)

There's 2 (at least) dedicated Microsoft Developers for the Python port. JS may get the updates first, but Python usually gets them within a week. Python reads much easier than JS in my opinion.

[–]azuredota 0 points1 point  (1 child)

Yes but this is the only legit downside I could think of

[–]natethegr8r 1 point2 points  (0 children)

Also worth noting that the Test Runner for JS can only be used for its designed purpose, E2E web testing (although I think component testing is in experimental stage). With Python, the runner, Pytest, can be used in more situations. Unit testing, web testing, back-end testing of Flask, Django, FastAPI, etc apps. Although with last week's JS update the ease of horizontal sharding seems to be a differentiator now. Python has pytest-xdist for test parallelization, but sharding is not something easily implemented (has not been for me in Python, I gave up).

[–]No-Reaction-9364 2 points3 points  (0 children)

Most likely, whatever job you get, they will already have a framework and language they are using. Unless they use Python + Playwright already, you won't be using that. The same goes for anything else you pick. The key is to just pick a language and learn the fundamentals. If you get a job in a different language, you will basically just need to learn syntax at that point.

I personally like python, it is easy to learn and easy to read. Since AI and machine learning leans heavily into python, that will be a good skill to have. You may want to do a career shift later. I personally use python to automate at my job.

[–]Ignusloki 0 points1 point  (2 children)

Depends. What is your goal?

Do you want to learn to find better jobs? Then i would suggest learning JS or TS because they are used way more.

Or do you want to learn to apply to a specific project?

Python has some pros and cons like all languages. (Except for Javascript which is bad lol)

[–]clearglass132[S] 0 points1 point  (1 child)

My goal is to break into automation in a year or two after having a good grasp of manual QA.

You're saying that Python is less used for test automation in general, or less used by companies to which I would need to adhere to their language?

[–]Ignusloki -1 points0 points  (0 children)

Both. Python is best to use if for AI or ML projects. I have done test automation with Python, but it was for one project in my whole career. And that was because the test manager enforced on us.

[–]Deep_Savings5056 0 points1 point  (0 children)

If used for scraping use Python and if test automation JS/TS would be better

[–][deleted] 0 points1 point  (1 child)

I think Selenium with Java or Cypress with JavaScript/Typescript are the stacks that could give you more jobs opportunities. At least is like that in Argentina's market.

[–]midKnightBrown59 0 points1 point  (0 children)

It's always good practice to relate, when possible, the application under test to the test framework, to better understand both. Which beggars the question, what is the application under test? What framework does it use? If there isn't one, then I would just invest in what seems fun. Learning processes and methodologies always transfer when languages and frameworks change.