englanti
Avatar

Iakiv Kramarenko
@yashaka

Polyglot Automation (complete toolset for functional Web UI testing)

Käyttäjällä yashaka on 0 tukijaa.

Kuvaus

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

JavaScript/TypeScript

Python

  • ported Selenide to Python as Selene

C

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
  • 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
  • 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
  • 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.

Yhdistetyt tilit

Käyttäjän yashaka tilejä muissa palveluissa:

Repositoriot

selene Tähdet 660 Päivitetty tällä viikolla

User-oriented Web UI browser tests in Python

NSelene Tähdet 66 Päivitetty 1 kuukausi sitten

Consise API to Selenium for .Net (the port of Selene in python / Selenide in Java)

jselene Tähdet 1 Päivitetty 7 vuotta sitten

concise selenium based library for browser automation in java [draft version]

Historia

yashaka liittyi 5 vuotta sitten.

Viikoittaiset Yhdysvaltain dollari-määräiset tulot

Tukijoita viikossa