05-driver-mock.t 1002 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Test::More;
  5. use Data::Dumper;
  6. use t::lib::MockSeleniumWebDriver;
  7. use_ok('Selenium::Remote::Driver');
  8. # Start our local http server only if release testing
  9. if ($^O eq 'MSWin32' && $ENV{RELEASE_TESTING})
  10. {
  11. system("start \"TEMP_HTTP_SERVER\" /MIN perl t/http-server.pl");
  12. } elsif($ENV{RELEASE_TESTING})
  13. {
  14. system("perl t/http-server.pl > /dev/null &");
  15. }
  16. my $website = 'http://localhost:63636';
  17. my $record = $ENV{RELEASE_TESTING};
  18. t::lib::MockSeleniumWebDriver::register($record,'t/mock-recordings/05-driver-mock-recording.json');
  19. my $driver = Selenium::Remote::Driver->new;
  20. isa_ok($driver,'Selenium::Remote::Driver');
  21. $driver->get("$website/alerts.html");
  22. $driver->quit;
  23. done_testing;
  24. # Kill our HTTP Server
  25. if ($^O eq 'MSWin32' && $ENV{RELEASE_TESTING})
  26. {
  27. system("taskkill /FI \"WINDOWTITLE eq TEMP_HTTP_SERVER\"");
  28. }
  29. elsif($ENV{RELEASE_TESTING})
  30. {
  31. `ps aux | grep http-server\.pl | grep perl | awk '{print \$2}' | xargs kill`;
  32. }
  33. 0;