Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[sequoyah-dev] Suggestions for the ATF's GEL language

Hi,

I was reading the ATF's framework proposal ( http://www.eclipse.org/sequoyah/documentation/Automation%20Test%20Framework.pdf )
and came up with the following suggestion for further improvements to the GEL language proposed there. I think it would be nice if we discuss
in this list the syntax and the list of commands that would be interesting to be implemented in the core of the framework.

=====================//=======================//=====================//=======================//=====================//=======================

1 - The only command that generates a fail case is assert. This makes error tracking harder, because it is not known exactly where the test case failed 
 
* Ideal: each command has a standard fail clause, which could be an object similar to an exception from Java, where would be present the reason for the failure, which could be reimplemented through the Extension Point.


2 - Lack of control structures makes the scripts very stingy about scenario-wise flexibility. (The scenarios should be very controlled and the tests very specific and simple)

* Ideal: at least conditional and iteration structures must be present in the language


3 - The lack of return values in the commands (these can be simple types or objects) renders hierarchical calls impossible. Example: it is wanted to click on a drop-down list, but there are several ones and it is wanted to specifically click on the arrow, not inside it. Using a standard python, this could be:

click (image (ImagemDaDropdown). subimages (ImagemDaSeta))

* Ideal: return values or object oriented


4 - There is no way of specifying the parametric tests. Thus, usability and reuse of code is reduced

* Ideal: One should be able to specify a test as a procedure with signature and parameters arity defined consistently.


5 - The mechanism to load the properties files is not clear. While it can be implemented later, a superficial specification should be given.

* At least, the model data structure that will hold the data after loading must be specified a priori

=====================//=======================//=====================//=======================//=====================//=======================


BR's

--
--
Carlos Alberto Souto Junior
MSc. in Electrical Engineering
Jr. Software Engineer


Back to the top