我嘗試這樣做:如何將stdout和stderr輸出從Perl腳本重定向到Windows上的文件?
test1.pl >output.log 2>&1
但這是結果:
Can't dup STDOUT: Permission denied at C:/Perl/lib/Test/Builder.pm line 1376.
Compilation failed in require at C:/Perl/lib/Test/Builder/Module.pm line 3.
BEGIN failed--compilation aborted at C:/Perl/lib/Test/Builder/Module.pm line 3.
Compilation failed in require at C:/Perl/lib/Test/More.pm line 22.
BEGIN failed--compilation aborted at C:/Perl/lib/Test/More.pm line 22.
Compilation failed in require at C:/Perl/site/lib/Test/WWW/Selenium.pm line 72.
BEGIN failed--compilation aborted at C:/Perl/site/lib/Test/WWW/Selenium.pm line 72.
Compilation failed in require at C:\Software\selenium-remote-control-1.0-beta-2\tests\test1.pl line 5.
BEGIN failed--compilation aborted at C:\Software\selenium-remote-control-1.0-beta-2\tests\test1.pl line 5.
運行該腳本文件,只要我不嘗試在命令行輸出重定向以任何方式。
這是我的腳本,以防萬一。 (這是一個Selenium測試腳本):
#!C:/perl/bin/perl.exe -w
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;
my $sel = Test::WWW::Selenium->new(host => "localhost",
port => 4444,
browser => "*chrome",
browser_url => "http://localhost/");
print "Start Time: " . localtime() . "\n";
for (my $count = 3000; $count > 0; $count--)
{
print $count . " tests remaining.\n";
$sel->open_ok("/home");
$sel->click_ok("link=News");
$sel->wait_for_page_to_load_ok("30000");
$sel->click_ok("video");
$sel->wait_for_page_to_load_ok("30000");
$sel->click_ok("link=Sports");
$sel->wait_for_page_to_load_ok("30000");
$sel->click_ok("link=Movies");
$sel->wait_for_page_to_load_ok("30000");
$sel->click_ok("moremovies");
$sel->wait_for_page_to_load_ok("30000");
}
print "End Time: " . localtime() . "\n";
這看起來像一個硒對我來說特定的問題。您是否嘗試過在沒有任何對Selenium的調用的情況下運行腳本? – 2009-01-28 22:44:43