Top Rounds
| We are Hiring! |
[Hide Navigation]

Sahi headless execution with PhantomJS ·

PhantomJS is a headless browser based on WebKit. (A headless browser runs without a user interface)
To run Sahi headless on PhantomJS:

1) Download phantomjs-1.x.x-win32-dynamic.zip from http://code.google.com/p/phantomjs/downloads/list

2) Unzip it to, say C:\phantomjs-1.x.x-win32 such that phantomjs.exe is available at
C:\phantomjs-1.x.x-win32\phantomjs.exe

3) Create a file sahi.js in C:\phantomjs-1.x.x-win32 with the content below:

For version 1.1.0, use:
if (phantom.state.length === 0) { if (phantom.args.length === 0) { console.log('Usage: sahi.js <Sahi Playback Start URL>'); phantom.exit(); } else { var address = unescape(phantom.args[0]); phantom.state = "sahi script running"; console.log('Loading ' + address); phantom.open(address); } } else { if (phantom.loadStatus == 'success') { console.log('Page title is ' + document.title); } else { console.log('FAIL to load the address'); } }

For version 1.2.0 onwards, use:
if (phantom.args.length === 0) { console.log('Usage: sahi.js <Sahi Playback Start URL>'); phantom.exit(); } else { var address = unescape(phantom.args[0]); console.log('Loading ' + address); var page = new WebPage(); page.open(address, function(status) { if (status === 'success') { var title = page.evaluate(function() { return document.title; }); console.log('Page title is ' + title); } else { console.log('FAIL to load the address'); } }); }

The above code is based on the example provided by PhantomJS

4) Click “Configure” link on Dashboard, and add

<browserType> <name>phantomjs</name> <displayName>PhantomJS</displayName> <icon>safari.png</icon> <path>C:\phantomjs-1.1.0-win32\phantomjs.exe</path> <options>--proxy=localhost:9999 C:\phantomjs-1.1.0-win32\sahi.js</options> <processName>phantomjs.exe</processName> <capacity>100</capacity> <force>true</force> </browserType>

before the ending </browserTypes> tag in browser_types.xml

5) Save and restart Sahi.

6) To run a test in PhantomJS: Click on “Bin” on the dashboard (or navigate to sahi/userdata/bin on a command prompt) and run the command
testrunner.bat demo/sahi_demo.sah http://sahi.co.in/demo/ phantomjs"

This will run the Sahi script without opening a browser.




---


Top Rounds