254472a6cad6d57db45affcf15a739829e322a1a
[kivitendo-erp.git] / t / selenium / AllTests.t
1 #=====================================================================
2 # LX-Office ERP
3 # Copyright (C) 2006
4 # Web http://www.lx-office.org
5 #
6 #=====================================================================
7 #
8 #  Author: Udo Spallek
9 #   Email: udono@gmx.net
10 #
11 # This program is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation; either version 2 of the License, or
14 # (at your option) any later version.
15 #
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #======================================================================
24
25 # Selenium Main Caller
26 # Call all Selenium scripts from here. To use Selenium tests in 
27 # Lx-Office you need to Install Selenium Remote Control. Take a look at 
28 # the README Document for further informatinons on installing Selenium 
29 # and testing Lx-Office and of course writing your own testcases.
30 #
31 #######################################################################
32   no strict;
33   push @INC, ['/tselenium'];
34   use vars qw( $lxdebug $lxtest $sel );
35   use strict;
36
37   use Test::WWW::Selenium;
38   use Carp;
39   use Test::More tests => 86; # Need to be cutomized
40
41   diag('Pretests and initialisation');
42
43     eval { require('t/lxtest.conf'); };
44   if ($@) {
45     diag("No test configuration found in t/lxtest.conf.\n
46     Maybe you forget to copy t/lxtest.conf.default to t/lxtest.conf. Exit test...\n");
47   exit 0;
48   };
49
50   $lxtest->{test_id} = time; # create individual ids by unixtime
51   $lxtest->{testuserlogin}   = $lxtest->{testlogin} . $lxtest->{test_id};
52   $lxtest->{testuserpasswd}  = $lxtest->{test_id};
53   $lxtest->{db}              = $lxtest->{db} . $lxtest->{test_id};
54
55   ok(defined $lxtest->{rpw}, "Get root password");
56   
57   ok(defined $lxtest->{dbhost}, "found dbhost in config");
58   ok(defined $lxtest->{dbport}, "found dbport in config");
59   ok(defined $lxtest->{dbuser}, "found dbuser in config");
60   ok(defined $lxtest->{dbpasswd}, "found dbpasswd in config");
61
62   $lxtest->{lxadmin} = $lxtest->{lxbaseurl} . "admin.pl?path=$lxtest->{path}&rpw=$lxtest->{rpw}&nextsub=list_users&action=Weiter";
63
64
65   eval { $sel = Test::WWW::Selenium->new(
66     host => $lxtest->{seleniumhost},
67     port => $lxtest->{seleniumport},
68     browser => $lxtest->{seleniumbrowser},
69     browser_url => $lxtest->{lxadmin});
70   };
71   if ($@) {
72     diag("No Selenium Server running, or wrong preferences\n\n");
73     exit 0;
74   }
75
76   ok(defined $sel, 'Creating Selenium Object');
77
78   diag('Starting Selenium tests...');
79
80   require('t/selenium/001CreateTestDatabase.t');
81   require('t/selenium/002CreateTestUser.t');
82
83   require('t/selenium/998DeleteTestUser.t');
84   require('t/selenium/999DeleteTestDatabase.t');
85
86   $sel=''; # Destroy selenium object
87
88   exit 1;
89