Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.547.162 Times

CGI::Test 0.104

  Date Added: March 19, 2010  |  Visits: 833

CGI::Test

Report Broken Link
Printer Friendly Version


Product Homepage
Download (70 downloads)



CGI::Test is a CGI regression test framework. SYNOPSIS # In some t/script.t regression test, for instance use CGI::Test; # exports ok() my $ct = CGI::Test->new( -base_url => "http://some.server:1234/cgi-bin", -cgi_dir => "/path/to/cgi-bin", ); my $page = $ct->GET("http://some.server:1234/cgi-bin/script?arg=1"); ok 1, $page->content_type =~ m|text/htmlb|; my $form = $page->forms->[0]; ok 2, $form->action eq "/cgi-bin/some_target"; my $menu = $form->menu_by_name("months"); ok 3, $menu->is_selected("January"); ok 4, !$menu->is_selected("March"); ok 5, $menu->multiple; my $send = $form->submit_by_name("send_form"); ok 6, defined $send; # # Now interact with the CGI # $menu->select("March"); # "click" on the March label my $answer = $send->press; # "click" on the send button ok 7, $answer->is_ok; # and make sure we dont get an HTTP error The CGI::Test module provides a CGI regression test framework which allows you to run your CGI programs offline, i.e. outside a web server, and interact with them programmatically, without the need to type data and click from a web browser. If youre using the CGI module, you may be familiar with its offline testing mode. However, this mode is appropriate for simple things, and there is no support for conducting a full session with a stateful script. CGI::Test fills this gap by providing the necessary infrastructure to run CGI scripts, then parse the output to construct objects that can be queried, and on which you can interact to "play" with the scripts control widgets, finally submitting data back. And so on... Note that the CGI scripts you can test with CGI::Test need not be implemented in Perl at all. As far as this framework is concerned, CGI scripts are executables that are run on a CGI-like environment and which produce an output. To use the CGI::Test framework, you need to configure a CGI::Test object to act like a web server, by providing the URL base where CGI scripts lie on this pseudo-server, and which physical directory corresponds to that URL base. From then on, you may issue GET and POST requests giving an URL, and the pseudo-server returns a CGI::Test::Page object representing the outcome of the request. This page may be an error, plain text, some binary data, or an HTML page (see CGI::Test::Page for details). The latter (an HTML page) can contain one or more CGI forms (identified by tags), which are described by instances of CGI::Test::Form objects (see CGI::Test::Form for details). Forms can be queried to see whether they contain a particular type of widget (menu, text area, button, etc...), of a particular name (thats the CGI parameter name). Once found, one may interact with a widget as the user would from a browser. Widgets are described by polymorphic objects which conform to the CGI::Test::Form::Widget type. The specific interaction that is offered depends on the dynamic type of the object (see CGI::Test::Form::Widget for details). An interaction with a form ends by a submission of the form data to the server, and getting a reply back. This is done by pressing a submit button, and the press() routine returns a new page. Naturally, no server is contacted at all within the CGI::Test framework, and the CGI script is ran through a proper call to one of the GET/POST method on the CGI::Test object. Finally, since CGI::Test is meant to be used from regression test scripts, it exports a single ok() routine which merely prints the messages expected by Test::Harness. This is the only functional routine in this module, all other accesses being made through a CGI::Test object..

Requirements: No special requirements
Platforms: Linux
Keyword: Cgi Scripts Cgitest Get Libraries Object Page Programming Regression Regression Test Scripts Test Type Url
Users rating: 0/10

License: Freeware Size: 51.2 KB
USER REVIEWS
More Reviews or Write Review


CGI::TEST RELATED
Programming  -  The Qu Programming Language 1.21.10
Qu is a powerful full-featured object oriented programming language. It is an Open Source software. The Qu Programming Language is absolutely free (as in free lunch) and distributed under the GNU General Public License (GPL). Qu is inspired by...
1.3 MB  
Programming  -  Scriptol Compilers 6.2
Scriptol is an object oriented programming language designed to deliver the programmer from hardware or software constraints and let him or her concentrate only on the problem to formulate as a program. Scriptol Compilers is universal, and...
1.6 MB  
Programming  -  The Complex Language 0.1
The Complex Language project is an object oriented programming language intended for scripting or rapid prototyping of applications. The design goals were to have very few simple but powerful concepts and to be easy to use and easy to learn. The...
133.12 KB  
Development Tools  -  What's New for Object-Oriented Programming in MATLAB Webinar - Code Examples 1.0
These are the code examples used in the "What's New for Object-Oriented Programming in MATLABdlT«" webinar, which described the new object oriented features in Release 2008a.To use the code, add the top folder to your path. See the test* M-files...
112.64 KB  
Database Tools  -  Introduction to Object-Oriented Programming in MATLAB(R) Webinar 1.0
This contains the demo files and the presentation PDF file used in the "Introduction to Object-Oriented Programming in MATLAB(R)" Webinar, which was delivered in April 2009. These are meant to augment the Webinar, not replace it. Check out the...
30.72 KB  
Network & Internet  -  Grail 0.6
Grail is an extensible Internet browser written entirely in the interpreted object-oriented programming language Python. It runs on Unix, Windows and Macintosh. Grail is easily extended to support new protocols or file formats. Grail is...
378.88 KB  
Programming  -  LavaPE 0.8.4
LavaPE is a programming environment for the experimental object-oriented programming language Lava. It replaces text editing with structure editing, thereby preventing all syntactic and many semantic errors. The pure point-and-click nature of...
1.2 MB  
Programming  -  GNU Sather 1.2.3 / 1.3 Beta 7
GNU Sather is an object-oriented programming language designed to be simple, efficient and safe. This application aims to be appropriate for use in teaching, research, and industry. It was originally based on Eiffel but now incorporates ideas...
5.3 MB  
Libraries  -  Test::STDmaker 0.23
Test::STDmaker is a Perl module to generate test scripts, demo scripts from a test description short hand. SYNOPSIS ####### # Procedural (subroutine) interface # use Test::STDmake qw(find_t_roots get_data perl_command); @t_path =...
133.12 KB  
Libraries  -  CGI::MxScreen 0.103
CGI::MxScreen is a multi-screen stateful CGI framework. SYNOPSIS require CGI::MxScreen; my $manager = CGI::MxScreen->make( -bgcolor => "#dedeef", -screens => { "state_1" => [-class => "STATE_1", -title => "Hello"], "state_2" =>...
75.78 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB