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 32.284.183 Times

CGI::Test 0.104

  Date Added: March 19, 2010  |  Visits: 886


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
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  
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 3.15.3
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
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