3

在Chrome中调试CasperJS脚本的步骤是什么?我试图在我的Windows 8.1上进行调试。如何用Chrome远程调试CasperJS?

1)我的测试C:\ TEMP \ googletestin.js具有:

debugger; 

casper.test.begin('Google search retrieves 10 or more results',3, function suite(test) { 

    casper.start("http://www.google.com.br/", function() { 
     this.echo(">>Number 1"); 
     test.assertTitle("Google", "Title home page google"); 

     casper.echo(">>Number 2"); 
     test.assertExists('form[action="/search"]', "find form search"); 

     casper.echo(">>Number 3"); 
     this.fill('form[action="/search"]', { 
      q: "casperjs" 
     }, true); 

     this.echo(">>Number 4"); 
     casper.capture('test.png', undefined, { 
     format: 'png', 
     quality: 75 
     }); 

    }) 

    casper.run(function() { 
     test.done(); 
    }); 
}); 

2)开放的cmd.exe

3)执行命令行

>casperjs test c:\temp\googletesting.js --remote-debugger-port=9222 --remote-debugger-autorun=yes 

PS:测试运行直到正常结束

4)打开chrome和字段即url:http:localhost:9222

5)页是空白

6)打开控制台(F12),并做到:__run();但什么也没有发生

回答

1

在步骤3中,您需要通过调试器选项进入CasperJS而不是脚本,它将通过casper.cli访问。你也不应该让脚本自动启动(--remote-debugger-autorun=yes),否则它会运行,然后才能调试它。正如您正确指出的那样,您可以打开Chrome/Safari并致电__run()触发脚本执行。

casperjs --remote-debugger-port=9222 test yourScript.js 
+1

不起作用。页面消息“此页面无法访问”,并且我在控制台上执行了第6步显示:__run未定义 – fredericoallan 2014-10-29 15:59:19

+0

好的,当我使用自动启动时它不适用于我,但它在没有使用的情况下工作。请再次检查。 – 2014-10-29 18:02:39

+0

在运行命令行“casperjs --remote ...”之前,您是否以远程方式启动chrome.exe?像这样: c:\ program files \ google \ chrome \ chrome.exe --remote-debugger-port-9222 或者执行我提到的步骤? 请注意。 – fredericoallan 2014-10-29 18:55:38