Running Acceptance Tests Faster With Phantom JS

In this video you will see how switching from using Selenium to PhantomJS can cut your test times almost in half.

PhantomJS can handle Javascript pages just like Selenium, but it runs without requiring a real browser (Chrome, Firefox, etc) and as such, is perfect for running on your test server.

You'll see how easy PhantomJS is to download - no installation required.

First you will see the tests run under Selenium, and then we will stop Selenium, start up PhantomJS using the command:

sudo phantomjs --webdriver=4444

Of course, that's assuming you're running from the PhantomJS download / unzipped bin subdirectory.

One thing you may be wondering - what happens if it all goes wrong? Do you still get your screenshot output in the _output directory? The answer is yes - which is very cool :)

Code For This Course

Get the code for this course.

Code For This Video

Get the code for this video.


# Title Duration
1 Installing Codeception in Your Symfony 2 Project 04:20
2 Bootstrapping Codeception 02:09
3 Codeception's Folder Structure 06:43
4 Generating Tests 06:28
5 How to Run Codeception Tests 02:44
6 Our First Acceptance Test 08:00
7 An Alternative Perspective on Acceptance Testing 04:33
8 Acceptance Testing Symfony Forms 08:22
9 Acceptance Testing and Javascript (Part 1 of 2) 07:31
10 Acceptance Testing and Javascript (Part 2 of 2) 08:06
11 An Introduction to Unit Testing in Codeception 04:24
12 Unit Testing a Symfony Service 11:59
13 Integration with Symfony 2 06:27
14 Databases and Unit Tests 14:21
15 Real World Unit Testing - Database Clean Up Issues 06:15
16 Fast PHP Unit Testing with SQLite Database 10:19
17 Mocking the Entity Manager 20:22
18 Codeception Selenium Setup 06:08
19 How to Setup XDebug with PHPStorm 07:36
20 Step Objects and Page Objects 09:35
21 Fizz Buzz Kata 24:43
22 Code Coverage Reports 10:30
23 Running Acceptance Tests Faster With Phantom JS 01:30
24 Mobile Browser Tests 01:18