|
@@ -2,21 +2,10 @@ use strict;
|
|
|
use warnings;
|
|
use warnings;
|
|
|
|
|
|
|
|
use Test::More;
|
|
use Test::More;
|
|
|
-use Net::Ping;
|
|
|
|
|
use Selenium::Remote::Driver;
|
|
use Selenium::Remote::Driver;
|
|
|
|
|
+use Selenium::Remote::Mock::RemoteConnection;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
-BEGIN {
|
|
|
|
|
- if (defined $ENV{'WD_MOCKING_RECORD'} && ($ENV{'WD_MOCKING_RECORD'}==1)) {
|
|
|
|
|
- use t::lib::MockSeleniumWebDriver;
|
|
|
|
|
- my $p = Net::Ping->new("tcp", 2);
|
|
|
|
|
- $p->port_number(4444);
|
|
|
|
|
- unless ($p->ping('localhost')) {
|
|
|
|
|
- plan skip_all => "Selenium server is not running on localhost:4444";
|
|
|
|
|
- exit;
|
|
|
|
|
- }
|
|
|
|
|
- warn "\n\nRecording...\n\n";
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
my $record = (defined $ENV{'WD_MOCKING_RECORD'} && ($ENV{'WD_MOCKING_RECORD'}==1))?1:0;
|
|
my $record = (defined $ENV{'WD_MOCKING_RECORD'} && ($ENV{'WD_MOCKING_RECORD'}==1))?1:0;
|
|
|
my $os = $^O;
|
|
my $os = $^O;
|
|
@@ -27,9 +16,19 @@ my $mock_file = "02-webelement-mock-$os.json";
|
|
|
if (!$record && !(-e "t/mock-recordings/$mock_file")) {
|
|
if (!$record && !(-e "t/mock-recordings/$mock_file")) {
|
|
|
plan skip_all => "Mocking of tests is not been enabled for this platform";
|
|
plan skip_all => "Mocking of tests is not been enabled for this platform";
|
|
|
}
|
|
}
|
|
|
-t::lib::MockSeleniumWebDriver::register($record,"t/mock-recordings/$mock_file");
|
|
|
|
|
|
|
+my %selenium_args = (
|
|
|
|
|
+ browser_name => 'firefox'
|
|
|
|
|
+);
|
|
|
|
|
+if ($record) {
|
|
|
|
|
+ $selenium_args{remote_conn} = Selenium::Remote::Mock::RemoteConnection->new(record => 1);
|
|
|
|
|
+}
|
|
|
|
|
+else {
|
|
|
|
|
+ $selenium_args{remote_conn} =
|
|
|
|
|
+ Selenium::Remote::Mock::RemoteConnection->new( replay => 1,
|
|
|
|
|
+ replay_file => "t/mock-recordings/$mock_file" );
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
-my $driver = new Selenium::Remote::Driver(browser_name => 'firefox');
|
|
|
|
|
|
|
+my $driver = Selenium::Remote::Driver->new(%selenium_args);
|
|
|
my $website = 'http://localhost:63636';
|
|
my $website = 'http://localhost:63636';
|
|
|
$driver->get("$website/formPage.html");
|
|
$driver->get("$website/formPage.html");
|
|
|
my $ret;
|
|
my $ret;
|
|
@@ -129,4 +128,8 @@ QUIT: {
|
|
|
ok((not defined $driver->{'session_id'}), 'Killed the remote session');
|
|
ok((not defined $driver->{'session_id'}), 'Killed the remote session');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+if ($record) {
|
|
|
|
|
+ $driver->remote_conn->dump_session_store("t/mock-recordings/$mock_file");
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
done_testing;
|
|
done_testing;
|