Where should I start if I want to automate and learn/improve my programming skills at the same time?

I've used selenium webdriver + python and it was really cool, also tried some watir + ruby and now I'm trying out robot framework + selenium2library and my question is coming from here, cause it's not really programming, sure you can upgrade your xpath & css & html skill, but in a keyword driven framework with its own syntax, that's not really it.

So what solution is the best if I want to write automation tests and for it to be programming also?

  • 3
    I don't understand your question. It depends on what kind of automation you want to do (automation is about a lot more than driving a remote browser). It can also depend on your programming skills, the skills of your co-workers, and what language your developers use.
    – user246
    Dec 4, 2015 at 22:44
  • You can create a testing framework starting from scratch and writing every single line of code also developing a visual console by your own or you can adopt an existing testing tool. Both ways have pro and cons but in the end it depends on your goal and, last but not least, on the time/budget you have at your disposal. Dec 5, 2015 at 8:06
  • @ user246 I mean what type testing is the most challenging and interesting from the programming point of view. We can assume that i have a lot of time and money and so on, so that's not a problem.
    – Newcomer
    Dec 5, 2015 at 8:11
  • To me testing anti-virus software would be the most interesting and challenging in terms of automation. But I guess this does not answer your question.
    – dzieciou
    Dec 5, 2015 at 11:30

2 Answers 2


Probably your doubts about the programming limitation in the test automation are a consequence of the fact that you are trying to create an automation framework starting from the user-interface of your application.

Indeed, as clearly explained by Mike Cohn with his Test Pyramid(The forgotten layer of the test pyramid) the most of the tests of your automation should be developed as Unit Tests (that is pure programming; take a look at TDD for more info), while the UI testing (automated or not) should only partially cover your framework and tools like Selenium or Appium are enough.

  • Ok, thanks a lot. I'll start with unit tests then.
    – Newcomer
    Dec 7, 2015 at 8:53

You can try Sikuli. It is a generic test automation environment based on visual patterning and offers integration with several different programming languages: Python, JRuby, Java and more to come.

Most of the Sikuli Q&A takes place on stackoverflow which is much more programming related than SQA.


Not the answer you're looking for? Browse other questions tagged or ask your own question.