This is an automated email from the git hooks/post-receive script. jame-guest pushed a commit to tag v0.02 in repository libweasel-perl.
commit 988c19697dd92aa2b92d6593833d0f893265bf50 Author: Erik Huelsmann <[email protected]> Date: Thu Jun 16 10:20:09 2016 +0200 * Add interfaces required for WidgetHandlers --- dist.ini | 2 ++ lib/Weasel/DriverRole.pm | 15 +++++++++++++++ lib/Weasel/Session.pm | 36 +++++++++++++++++++++++++++++------- 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/dist.ini b/dist.ini index a985c0e..5fdacab 100644 --- a/dist.ini +++ b/dist.ini @@ -21,3 +21,5 @@ File::Util = 0 Moose = 0 Module::Runtime = 0 List::Util = 0 +Try::Tiny = 0 + diff --git a/lib/Weasel/DriverRole.pm b/lib/Weasel/DriverRole.pm index c1c2a56..a68ab9e 100644 --- a/lib/Weasel/DriverRole.pm +++ b/lib/Weasel/DriverRole.pm @@ -158,6 +158,21 @@ sub set_selected { croak "Abstract interface method 'set_selected' called"; } +=item screenshot($fh) + +=cut + +sub screenshot { + croak "Abstract interface method 'screenshot' called"; +} + +=item tag_name($element_id) + +=cut + +sub tag_name { + croak "Abstract interface method 'tag_name' called"; +} =back diff --git a/lib/Weasel/Session.pm b/lib/Weasel/Session.pm index 33226bb..7645bdf 100644 --- a/lib/Weasel/Session.pm +++ b/lib/Weasel/Session.pm @@ -37,11 +37,12 @@ use strict; use warnings; use Moose; + +use Try::Tiny; use Weasel::Element::Document; use Weasel::FindExpanders qw/ expand_finder_pattern /; use Weasel::WidgetHandlers qw| best_match_handler_class |; - =head1 ATTRIBUTES @@ -111,7 +112,17 @@ sub find { my ($self, @args) = @_; my $rv; - $self->wait_for( sub { return $rv = shift @{$self->find_all(@args)}; }); + $self->wait_for( sub { + my @rv; + try { + @rv = @{$self->find_all(@args)}; + } + catch { + ###TODO add logger statement warning of consumed error + }; + return $rv = shift @rv; + + }); return $rv; } @@ -121,13 +132,14 @@ sub find { =cut sub find_all { - my ($self, $element, $pattern, $args) = @_; + my ($self, $element, $pattern, %args) = @_; + my $expanded_pattern = expand_finder_pattern($pattern, \%args); my @rv = map { $self->_wrap_widget($_) } $self->driver->find_all($element->_id, - expand_finder_pattern($pattern), - $args->{scheme}); + $expanded_pattern, + $args{scheme}); return wantarray ? @rv : \@rv; } @@ -143,9 +155,20 @@ sub get { my ($self, $url) = @_; $url = $self->base_url . $url; + ###TODO add logging warning of urls without protocol part + # which might indicate empty 'base_url' where one is assumed to be set $self->driver->get($url); } +=item screenshot($fh) + +=cut + +sub screenshot { + my ($self, $fh) = @_; + + $self->driver->screenshot($fh); +} =item wait_for($callback) @@ -173,8 +196,7 @@ sub _wrap_widget { my ($self, $_id) = @_; my $best_class = best_match_handler_class( $self->driver, $_id, $self->widget_groups) // 'Weasel::Element'; - - return $best_class->new(_id => $_id, session => $self->session); + return $best_class->new(_id => $_id, session => $self); } =back -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libweasel-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
