Iakiv Kramarenko
@yashaka
Polyglot Automation (complete toolset for functional Web UI testing)
Περιγραφή
Imagine that for all major programming languages there exist one way to build Web UI Automation from scratch...
- similar set of tools with similar API and capabilities
- similar documentation
- similar training and courses to coach anybody "how to build it" from scratch
- so having one source from where to grow a team
So that, if I, as a newbie learn how to build functional Web UI Automation in one programming language, like Java, then I will be able to do this with minimum "onboarding" in any other programming language in order to provide the most effective in a context of a specific project solution.
So that, if I, as a service provider (like a company) have one defined approach across multiple projects, then, it makes everything easier to support, scale and grow my teams, based on available documentation, training and course programs.
Under "major" programming languages I mean first of all languages like JavaScript, Java, Python, C#, Ruby.
Given
During my 10+ years in QA Automation, I came to the conclusion that the most mature and capable tooling for functional Web UI Automation comes from Java world.
The core tool that gave to me the most concise, readable and capable API to build Web UI tests fast was Selenide. It's far from perfect, and I hate a lot of its features, but comparing to others - it gave me on my projects much higher speed in all areas, especially including "onboarding" and "teaching how to do QA automation to newcomers".
While analyzing and comparing almost all popular java testing technologies I came to some solid and efficient bundle based on Java + Selenide + JUnit.
Then I created a practical course program, capable of teaching how to build QA Automation from scratch for complete newbies in this area. Find success stories below, in the "Status" section.
Implementation Details and core priorities
So the idea is simple - port from Java to at least JavaScript, Python, C# (then to other languages if needed):
- Selenide and corresponding tools
- free documentation and materials (like videos, etc.)
- paid online course
- paid book (that allows to execute the paid online course as a franchise on your own for self-education of educating others)
In the context of tooling - start from "showing best grow potential" and then scale. This results in putting the highest priority on JavaScript/TypeScript, then Python, then C#.
In the context of documentation, books & courses start from "easier" and then scale. This results in putting the highest priority on "doing everything in Russian first", then translate to English. Then to Ukrainian.
Status
Java
- paid online-course "Java + Selenide" running in Russian
- some success stories:
- examples of best graduates
- 1c Developer passes course, mentors on it after, and then starts to get 20-24$ per hour at Upwork as Senior QA Automation engineer
- teacher of Ukrainian and Polish passes the course, mentors on it after, then helps other course graduate (the next one mentioned here) to port Selenide from Java to JavaScript, then builds based on the port test automation for big enterprise project completely on her own, and leads all QA activities on the project.
- with 1.5 years in manual testing, the very newbie in java test automation passes the course, then ports Selenide and all other corresponding java tools to JavaScript (first version)
- usually graduate with an average score, after passing the course, succeded to get the job with a higher title and salary.
- paid book (Russian version) based on the course published as "in progress" at leanpub
- free video course "Automation from scratch with widgets" published at youtube (in Russian)
- started to publish a series of free videos based on the book materials at youtube
JavaScript/TypeScript
- ported Selenide to JavaScript as SelenideJs (under umbrella of KnowledgeExpert company)
Python
- ported Selenide to Python as Selene
C
- ported Selenide to C# as NSelene
General
- my free talk videos on youtube (just search on youtube "Яков Крамаренко" for videos in russian)
- my youtube channel with videos
- my book "Introduction to Software Development" published as "in progress" at leanpub in 3 languages: en, uk, ru
- allowing to get familiar with very basics for complete newbies in IT
RoadMap
(read the following list like this: from top to bottom means priority from high to low; indents from left to right means the time from now to future)
support and contribute to SelenideJs
- ...
- translate Java + Selenide en book to TypeScript + SelenideJs
- run the course in en
- translate book and course to ru
- then to uk
- translate en book to JavaScript + SelenideJs
- then course, and then to ru and uk
- translate Java + Selenide en book to TypeScript + SelenideJs
- ...
continue to run Java + Selenide online course (ru version) to have some funds and keep running to the goal
finish the book version of the course (ru version)
- translate Java + Selenide book from ru to en
- run Java + Selenide course in en based on the en book
- translate to uk
- translate Java + Selenide book from ru to en
share some materials from the course as free videos on youtube
support and contribute to Selene
- ...
- translate Java + Selenide en book to python
- run the course in en
- translate book and course to ru
- then to uk
- translate Java + Selenide en book to python
- ...
blogging on all QAA topics
support and contribute to Selenide
support and contribute to NSelene
- ...
- ...
- translate Java + Selenide en book to TypeScript + SelenideJs
- run the course in en
- translate book and course to ru
- then to uk
- ...
- ...
public talks on QAA topics
Dedication
I plan to spend 75% of my working time on this project, that includes creating both paid products and contributing to related open-source projects.
25% I would like to spend on paid consulting in the area of QA Automation. I might have to spend more, if have no enough funds to keep focused only on open-source and this "Polyglot Automation" project.
Συνδεδεμένοι Λογαριασμοί
Ο/Η yashaka έχει τους ακόλουθους λογαριασμούς σε άλλες πλατφόρμες:
Αποθετήρια
selene Αστέρια 696 Ενημερώθηκε πριν από 2 εβδομάδες
User-oriented Web UI browser tests in Python
NSelene Αστέρια 68 Ενημερώθηκε πριν από 1 μήνα
Consise API to Selenium for .Net (the port of Selene in python / Selenide in Java)
jselene Αστέρια 1 Ενημερώθηκε πριν από 7 έτη
concise selenium based library for browser automation in java [draft version]
Ιστορικό
yashaka εντάχθηκε στο πριν από 5 έτη.