WWW::Mechanize::Shell runs the same test suite with different Chrome versions. For that, I wrote another wrapper that runs the test suite using prove in parallel for each Chrome version.
When the tests are not run through that wrapper, each test runs its suite using all Chrome versions found. For that I wrote a helper module to run each test suite in a loop, which is likely not what you want:
use lib 't/';
use helper;
# What instances of Chrome will we try?
my @instances = t::helper::browser_instances();
if (my $err = t::helper::default_unavailable) {
plan skip_all => "Couldn't connect to Chrome: $@";
exit
} else {
plan tests => 4*@instances;
};
sub new_mech {
t::helper::need_minimum_chrome_version( '62.0.0.0', @_ );
WWW::Mechanize::Chrome->new(
autodie => 1,
@_,
);
};
t::helper::run_across_instances(\@instances, \&new_mech, 4, sub {
my ($browser_instance, $mech) = @_;
...
});
|