Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 111276a1

Von Thomas Kasulke vor mehr als 17 Jahren hinzugefügt

  • ID 111276a18a6edd391c7d653f77003fe24ae00d8f
  • Vorgänger 3dc47dea
  • Nachfolger 9b057fb9

Angepasst an die "neue" Testumgebung

Unterschiede anzeigen:

t/selenium/AllTests.t
#=====================================================================
# LX-Office ERP
# Copyright (C) 2006
# Copyright (C) 2006/2007
# Web http://www.lx-office.org
#
#=====================================================================
#
# Author: Udo Spallek
# Email: udono@gmx.net
# Author: Udo Spallek, Thomas Kasulke
# Email: udono@gmx.net, tkasulke@linet-services.de
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......
#
#######################################################################
no strict;
push @INC, ['/t/selenium'];
push @INC, ['/t/selenium', \&init_server];
use vars qw( $lxdebug $lxtest $sel );
use strict;
use Carp;
use Test::WWW::Selenium;
use Test::More;
use Test::More qw(no_plan);
use IO::Socket;
eval { require('t/lxtest.conf'); };
if(-f "/tmp/lxtest-temp.conf") {
eval { require('/tmp/lxtest-temp.conf'); };
}
else {
eval { require('t/lxtest.conf'); };
}
if ($@) {
diag("No test configuration found in t/lxtest.conf.\n
Maybe you forget to copy t/lxtest.conf.default to t/lxtest.conf. Exit test...\n");
exit 0;
};
}
sub server_is_running {
return IO::Socket::INET->new(PeerAddr => $ENV{SRC_HOST} || $lxtest->{seleniumhost},
PeerPort => $ENV{SRC_PORT} || $lxtest->{seleniumport},
);
}
if (server_is_running) {
plan tests => 204; # Need to be cutomized
}
else {
plan skip_all => "No selenium server found! "
."Maybe you forgot to start it or "
."the preferences in t/lxtest.conf doesen't fit to your system";
exit 0;
}
diag('Pretests and initialisation');
$lxtest->{test_id} = time; # create individual ids by unixtime
$lxtest->{testuserlogin} = $lxtest->{testlogin} . $lxtest->{test_id};
$lxtest->{testuserpasswd} = $lxtest->{test_id};
$lxtest->{db} = $lxtest->{db} . $lxtest->{test_id};
ok(defined $lxtest->{rpw}, "Get root password");
ok(defined $lxtest->{dbhost}, "found dbhost in config");
ok(defined $lxtest->{dbport}, "found dbport in config");
ok(defined $lxtest->{dbuser}, "found dbuser in config");
ok(defined $lxtest->{dbpasswd}, "found dbpasswd in config");
$lxtest->{lxadmin_url} = $lxtest->{lxbaseurl} . "admin.pl";
$lxtest->{lxadmin_with_get} = $lxtest->{lxadmin_url} . "?rpw=$lxtest->{rpw}&nextsub=list_users&action=Weiter";
$lxtest->{lxadmin} = $lxtest->{lxadmin_url} . "?rpw=$lxtest->{rpw}&nextsub=list_users&action=Weiter";
# if (server_is_running) {
# plan tests => 200; # Need to be cutomized
# }
sub init_server {
if(!server_is_running) {
print "No selenium server found! "
."Maybe you forgot to start it or "
."the preferences in t/lxtest.conf doesen't fit to your system";
exit 0;
}
diag('Pretests and initialisation');
eval { $sel = Test::WWW::Selenium->new(
host => $lxtest->{seleniumhost},
port => $lxtest->{seleniumport},
browser => $lxtest->{seleniumbrowser},
browser_url => $lxtest->{lxadmin},
auto_stop => '0',
);
};
if ($@) {
diag("No Selenium Server running, or wrong preferences\n\n");
exit 0;
}
ok(defined $sel, 'Creating Selenium Object');
$lxtest->{test_id} = time; # create individual ids by unixtime
$lxtest->{testuserlogin} = $lxtest->{testlogin} . $lxtest->{test_id};
$lxtest->{testuserpasswd} = $lxtest->{test_id};
$lxtest->{db} = $lxtest->{db} . $lxtest->{test_id};
diag('Starting Selenium tests...');
opendir(SCRIPTS, 't/selenium/testscripts');
my @testscripts = sort readdir(SCRIPTS);
ok(defined $lxtest->{rpw}, "Get root password");
foreach my $script (@testscripts){
my $file = "t/selenium/testscripts/" . $script;
require_ok($file) if ( $script =~ /^\d\d\d.*\.t$/ );
ok(defined $lxtest->{dbhost}, "found dbhost in config");
ok(defined $lxtest->{dbport}, "found dbport in config");
ok(defined $lxtest->{dbuser}, "found dbuser in config");
ok(defined $lxtest->{dbpasswd}, "found dbpasswd in config");
$lxtest->{lxadmin_url} = $lxtest->{lxbaseurl} . "admin.pl";
$lxtest->{lxadmin_with_get} = $lxtest->{lxadmin_url} . "?rpw=$lxtest->{rpw}&nextsub=list_users&action=Weiter";
$lxtest->{lxadmin} = $lxtest->{lxadmin_url} . "?rpw=$lxtest->{rpw}&nextsub=list_users&action=Weiter";
eval { $sel = Test::WWW::Selenium->new(
host => $lxtest->{seleniumhost},
port => $lxtest->{seleniumport},
browser => $lxtest->{seleniumbrowser},
browser_url => $lxtest->{lxadmin},
auto_stop => '0',
);
};
if ($@) {
diag("No Selenium Server running, or wrong preferences\n\n");
exit 0;
}
ok(defined $sel, 'Creating Selenium Object');
diag('Starting Selenium tests...');
foreach my $scriptdir (@_) {
opendir(SCRIPTS, 't/selenium/testscripts/' . $scriptdir);
foreach (sort readdir(SCRIPTS)) {
require_ok("t/selenium/testscripts/". $scriptdir . "/" . $_) if ( $_ =~ /^\w\d\d\d.*\.t$/);
}
closedir(SCRIPTS);
}
$sel->stop();
}
exit 1;
$sel=''; # Destroy selenium object
exit 1;
1;

Auch abrufbar als: Unified diff