Home Programmierung Using LISP as a Code Generator for Perl Win32::GuiTest - Update 1

Main Menu

Texte / Essays
Using LISP as a Code Generator for Perl Win32::GuiTest - Update 1

Version 0.1.21 of my LISP Abstraction Layer adds some more features. It allows now to return strings to LISP that were caught by Win32::GuiTest with the GetText function. Perl Warnings and Error Messages are put in a separat logfile and displayed in the Repl.



The Main function remains (create-and-run-perlfile '(list-of-perlcommands))

I encapsulated the calc.pl Example Application as a test function to illustrate the features.

I am approaching the desired state, a Domain Specific Language for these frontend GUI testing tasks with a very abstract, short and simple interface.

Being able to Return Values, sets of Testcases can be stacked. Let´s say you have a hypothetical CRM System; first you would like to create a new customer record. You could write a function which does exactly this and which returns new newly system-generated Customer No.

You then could use this returned Customer No. to execute the next test function, let´s say Creating a new Order.

This can be expressed in just a few lines of code.

This is a Screenshot of one of the Demo Functions:


Testframework Example


This is a simple Architecture Overview:

Architecture of Testframework


For the current source code, please refer to the original article.



If you are an IT Manager and think about using the mentioned Components for Test Automation, you will probably want to make sure that the use of the Software complies with your Company´s License Policy.

Therefore, I collected the License Information for the main components as well as the Places where I found it:

You will need:

(1) Strawberry Perl for Windows
Homepage: http://strawberryperl.com/
Download-Link: http://strawberry-perl.googlecode.com/files/strawberry-perl-
License: Free Software / GNU / GPL Perl License
License-Info: http://www.perl.org/about.html

(2) Perl Library "Win32-GuiTest"
Homepage: http://search.cpan.org/~karasik/Win32-GuiTest-1.58/
Download-Link: http://search.cpan.org/CPAN/authors/id/K/KA/KARASIK/Win32-GuiTest-1.58.tar.gz
License: Free Software / Reference to Perl License
License-Info: http://search.cpan.org/~karasik/Win32-GuiTest-1.58/lib/Win32/GuiTest.pm#COPYRIGHT

(3) LispBox - A Compilation of the following Components: EMACS + SLIME + Quicklisp + Clozure CCL
Homepage: http://common-lisp.net/project/lispbox/
Download-Link: http://common-lisp.net/project/lispbox/test_builds/lispbox-0.7-ccl-1.6-windowsx86.zip
License: Free Software / BSD-Style
License-Info: https://github.com/andreer/lispbox/blob/215de614dc7ba693b5578f6b149465aa47718f60/COPYING

(3a) EMACS
Homepage: http://www.gnu.org/software/emacs/
License: Free Software / GNU GPL
License-Info: http://www.gnu.org/licenses/licenses.html

(3b) SLIME
Homepage: http://common-lisp.net/project/slime/
License: Free Software / Public Domain
License-Info: See File "README" in Archive

(3c) Quicklisp
Homepage: http://www.quicklisp.org/
License: Free Software / BSD-Style
License-Info: http://www.quicklisp.org/beta/

(3d) Clozure Common Lisp
Homepage: http://www.clozure.com/clozurecl.html
Homepage: http://trac.clozure.com/ccl
License: Free Software / Lisp Lesser GNU GPL
License-Info: http://trac.clozure.com/ccl/wiki/License