generate-recordings.pl 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #! /usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use IPC::Open2;
  5. unless (-d "t" && -f "dist.ini" && -f "t/01-driver.t" && -f "t/02-webelement.t") {
  6. die "Please run this from the root of the repo.";
  7. }
  8. startServer();
  9. if ($^O eq 'linux') {
  10. print "Headless and need a webdriver server started? Try\n\n\tDISPLAY=:1 xvfb-run --auto-servernum java -jar /usr/lib/node_modules/protractor/selenium/selenium-server-standalone-2.40.0.jar\n\n";
  11. }
  12. my $export = $^O eq 'MSWin32' ? 'set' : 'export';
  13. my $srdLib = glob('Selenium-Remote-Driver*/lib');
  14. print `dzil build`;
  15. print `$export WD_MOCKING_RECORD=1 && perl -I$srdLib t/01-driver.t && perl -I$srdLib t/02-webelement.t`;
  16. killServer();
  17. sub startServer {
  18. if ($^O eq 'MSWin32') {
  19. system("start \"TEMP_HTTP_SERVER\" /MIN perl t/http-server.pl");
  20. } else {
  21. system("perl t/http-server.pl > /dev/null &");
  22. }
  23. }
  24. sub killServer {
  25. if ($^O eq 'MSWin32') {
  26. system("taskkill /FI \"WINDOWTITLE eq TEMP_HTTP_SERVER\"");
  27. }
  28. else {
  29. `ps aux | grep [h]ttp-server\.pl | awk '{print \$2}' | xargs kill`;
  30. }
  31. }