From 00dec9bda9a9b9a6e64d6693ba81896de24cedde Mon Sep 17 00:00:00 2001 From: Ben Loveridge Date: Fri, 20 May 2011 09:47:07 -0600 Subject: [PATCH] add info on PhantomJS / PyPhantomJS to README --- README.markdown | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/README.markdown b/README.markdown index 7009fa7..12cdabd 100644 --- a/README.markdown +++ b/README.markdown @@ -1,15 +1,52 @@ # Jasmine Reporters Jasmine Reporters is a collection of javascript jasmine.Reporter classes that can be used with -the [jasmine testing framework](http://pivotal.github.com/jasmine/). +the [JasmineBDD testing framework](http://pivotal.github.com/jasmine/). -Right now the project is focused on two new reporters:

+Right now the project is focused on two new reporters: * ConsoleReporter - Report test results to the browser console. * JUnitXmlReporter - Report test results to a file (using Rhino) in JUnit XML Report format. -Usage: +## Usage -Examples are included in the test directory that show how to use the reporters, as well as a basic -runner script for envjs, which could be used in a Continuous Integration project for running -headless and generating JUnit XML output. +Examples are included in the test directory that show how to use the reporters, +as well a basic runner scripts for Rhino + envjs, and a basic runner for +[PhantomJS](https://github.com/ariya/phantomjs) (using PyPhantomJS and the +saveToFile plugin). Either of these methods could be used in a Continuous +Integration project for running headless tests and generating JUnit XML output. + +### Rhino + EnvJS + +Everything needed to run the tests in Rhino + EnvJS is included in this +repository inside the `ext` directory, specifically Rhino 1.7r2 and envjs 1.2 +for Rhino. + +### PhantomJS, PyPhantomJS + +PhantomJS is included as a submodule inside the `ext` directory. Our examples +require use of PyPhantomJS with the saveToFile plugin (included) in order to +facilitate saving XML output to the filesystem. + +While PhantomJS and PyPhantomJS both run on MacOS / Linux / Windows, there are +specific dependencies for each platform. Specifics on installing these are not +included here, but is left as an exercise for the reader. The project on Github +contains links to various documentation, including installation notes. + +Here is how I got it working in MacOSX 10.6 (YMMV): + +* ensure you are using Python 2.6+ +* install Xcode (this gives you make, et al) +* install qt (this gives you qmake, et al) + * this may be easiest via [homebrew](https://github.com/mxcl/homebrew) + * `brew install qt` +* install the python sip module + * `pip install sip # this will fail to fully install sip, keep going` + * `cd build/sip` + * `python configure.py` + * `make && sudo make install` +* install the python pyqt module + * `pip install pyqt # this will fail to fully install pyqt, keep going` + * `cd build/pyqt` + * `python configure.py` + * `make && sudo make install`