1 package Test::Harness::Selenium;
5 use Socialtext::WikiFixture::Selenese;
6 use HTML::TableExtract;
11 package Test::Builder;
13 use Class::Method::Modifiers;
14 use ExtUtils::MakeMaker qw(prompt);
16 if (!$ENV{AUTOMATED_TESTING}) {
18 my ($orig, $self) = (shift, shift);
19 my $res = $self->$orig(@_);
21 if ('y' eq prompt "Well that didn't work, did it. Bail out?", 'y') {
31 my ($class, $self) = @_;
36 my ($self, $dir) = @_;
37 my @tests = File::Find::Rule->file()->name('*.html')->in($dir);
38 $self->run_tests_for($_) for @tests;
42 my ($self, $html_file) = @_;
43 my $rows = $self->get_rows_for($html_file);
44 my $src = Socialtext::WikiFixture::Selenese->new(
45 host => $self->{host},
46 port => $self->{port},
47 browser => $self->{browser},
48 browser_url => $self->{browser_url},
50 $src->run_test_table($rows);
54 my $te = HTML::TableExtract->new;
56 my ($self, $html_file) = @_;
57 my $html = io($html_file)->all;
59 my $table = ($te->tables)[0];
61 [ map { (!defined $_ or $_ eq "\240") ? () : $_ } @$_ ]
62 } grep { defined $_->[1] } $table->rows;