Skip to content

magento-hackathon/hackathon-casperjs

Repository files navigation

Frontend tests on Magento with CasperJS

Introduction

The tests located in the tests directory work with a default Magento CE installation with sample data installed. The idea is that if you have a custom project you will duplicate those tests in a separate directory and make the necessary adjustments so that the tests pass with your custom theme, extensions and custom modifications.

If you develop new generic tests, please contribute them back to this project by either coming to a Magento Hackathon and requesting write access to this repository or by forking it and submitting a pull request.

Prerequisites

Howto run the tests

Just run the command below:

casperjs --pre=config.js test --url="http://my-store.com/" tests/

or for simple tests with default values

npm test --url="http://my-store.com/"

You just need to replace the http://my-store.com with your own store's URL.

If you don't have URL rewrites enabled, don't forget to add index.php to your URL.

Secure URL

If you want to set a different URL used for HTTPS please add the url like that:

--secure_url="https://my-store.com/"

Maybe you're using a self signed certificate. In this case add the following parameter:

--ignore-ssl-errors=yes

Admin URL

If you're using a different admin path, you can specify it like so:

--admin_url="https://my-store.com/index.php/secretpath/"

Debug

If you want a verbose mode, just add:

--verbose

Remote Debugging

Remote Debugging allows you to debug the testing script using the WebKit Inspector. This feature is only available for WebKit-based Browsers like Safari and Chrome.

You can easily remote debug the scripts using the command --remote-debugger-port=9000.

your@machine:/casperjs --pre=config.js --remote-debugger-port=9000 sample.js

It is up to you to choose any port of your choice. When running the remote debugger, it is important that you know your ip. My IP in this case is for example 192.168.162.134

your@machine:/srv/hackathon$ ifconfig
eth0      Link encap:Ethernet  Hardware Adresse
00:0c:29:53:ea:00    inet Adresse:192.168.162.134

Now open any webkit browser on your LOCAL machine and type in ip:port for example:

192.168.162.134:9000

The debugger can now be run by typing in the command __run() at the console after clicking the first link on the page.

Troubleshooting

If you get this error

CasperError: Can't find module underscore

you need to run

npm install

which will install the required node underscore module.