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