For those who are interested in this problem, here is some code I used to solve this problem. I offer no guarantees that this is the best approach but it works the way I want it to. Note that this code introduces an intermediary class, EventRepository, that was not mentioned in the OP. I left out this class to keep the OP simple.
use EventRepository; my $er = EventRepository->new(launch => 'firefox', activate => 1); $er->get('http://google.com');
Here is the EventRepository class with an method overriding the parent class, FFMech:
use Moose; extends 'FFMech'; sub get { my ($self, $url) = @_; $self->SUPER::get($url, synchronize => 0); }
And here is the FFMech class which extends WWW::Mechanize::Firefox and is used to basically prep the Firefox window for use by X11::GUITest:
$ENV{'DISPLAY'} = ':0.0'; #allows script to run when called from remot +e terminal window use X11::GUITest qw/SendKeys FindWindowLike ClickWindow SetEventSendDe +lay/; use Moose; use MooseX::NonMoose; extends 'WWW::Mechanize::Firefox'; has 'window_id' => ( is => 'rw', isa => 'Int', ); sub BUILD { my $self = shift; $self->window_id(FindWindowLike('Mozilla Firefox')); ClickWindow($self->window_id); }
$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon";
$nysus = $PM . $MCF;
Click here if you love Perl Monks
In reply to Re: Passing arguments to WWW::Mechanize::Firefox constructor with Moose
by nysus
in thread Passing arguments to WWW::Mechanize::Firefox constructor with Moose
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |