I'm looking for a DSL for Selenium (or another testing tool) that will allow a non-programmer to automate functional tests.
|
|
A very big problem is that we are wasting a lot of time to find and learn the tool instead of just do what you want in “pure” language. DSL is a set of subroutines that just have a specific name for your domain and do some domain-specific stuff. You can create such procedures/functions/methods whatever on any languages of you’ve chosen. You can create such subroutines on any languages: Java, C#, Ruby, Perl, Python
You do not need any tools to start creating the tests. But then, when you have a strong Automation Layer – you could add any tool you want, but any tool is not required for you to create readable tests. The knowledge of the programming language, OOP, and best practices is the only tools you need at the beginning. Use “pure” programming language to create the DSL for your project. |
|||||
|
|
Answer to:
Brian, test automation is programming the automated tests, isn’t it? Those keywords, like go_to_the_catalog() can be implemented by developers, and can be used by “non-programmers” later. It is not so hard to create the tutorials how to create and run the automated tests and document all the keywords for the “non-programmers”, so those people would be able to combine and reuse the keywords. In my opinion, thinking that the basic programming knowledge for “non-programmers” (variables, loops, subroutines) is hard to understand – is misconception. Let’s say, What popular test automation tools have you seen that does not require basic programming skills? Is it SilkTest? QTP? Rational Robot? Ranorex? Each of those tools is popular and require programming skills. Even in the Selenium IDE when some of the locators fail you have two options: do some programming and change locator or re-record all the entire test. Using Fitnesse or Cucumber or Robot Framework you will also need to program your own keywords. The same approach can be used in the pure programming language:
|
|||||||
|
|
In addition to the ones Dan mentioned, take a look at:
|
|||
|
|
I believe Cucumber is an alternative. There is also an artical on MSDN about doing acceptance testing with IronRuby and RSpec with RSpec filling the role of FitNesse I believe. I have not used any of these though just as an aside. |
||||
|
|
|
The best DSL I've found for WebDriver in Java world is Geb. Fatures I like the most
|
|||
|
|
|
Thucydides is here. It allows groovy and is very succinct in comparison to java for writing Selenium tests. |
|||
|
|