diff --git a/tests/selenium/Account Plans.html b/tests/selenium/Account Plans.html
new file mode 100644
index 000000000..a320b9dfb
--- /dev/null
+++ b/tests/selenium/Account Plans.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+Account Plans
+
+
+
+
+Account Plans |
+
+
+ open |
+ /billing/upgrade |
+ |
+
+
+ clickAndWait |
+ link=Account Plans |
+ |
+
+
+ verifyElementPresent |
+ id=hobbyist_grid_price |
+ |
+
+
+ verifyElementPresent |
+ id=starter_grid_price |
+ |
+
+
+ verifyElementPresent |
+ id=plus_grid_price |
+ |
+
+
+ verifyElementPresent |
+ id=premium_grid_price |
+ |
+
+
+ verifyText |
+ id=hobbyist_grid_price |
+ $9.95 / month |
+
+
+ verifyText |
+ id=starter_grid_price |
+ $39.95 / month |
+
+
+ verifyText |
+ id=plus_grid_price |
+ $64.95 / month |
+
+
+ verifyText |
+ id=premium_grid_price |
+ $99.95 / month |
+
+
+ verifyElementPresent |
+ id=current_plan |
+ |
+
+
+ verifyElementPresent |
+ id=newproductbillingcycle-monthly |
+ |
+
+
+ verifyElementPresent |
+ id=newproductbillingcycle-annually |
+ |
+
+
+ verifyElementPresent |
+ id=newproductid-25 |
+ |
+
+
+ verifyElementPresent |
+ id=newproductid-26 |
+ |
+
+
+ verifyElementPresent |
+ id=newproductid-27 |
+ |
+
+
+ verifyElementPresent |
+ id=newproductid-28 |
+ |
+
+
+ verifyElementPresent |
+ css=span.subtotal |
+ |
+
+
+ verifyElementPresent |
+ id=firstname |
+ |
+
+
+ verifyElementPresent |
+ id=lastname |
+ |
+
+
+ verifyElementPresent |
+ id=companyname |
+ |
+
+
+ verifyElementPresent |
+ id=email |
+ |
+
+
+ verifyElementPresent |
+ id=address1 |
+ |
+
+
+ verifyElementPresent |
+ id=address2 |
+ |
+
+
+ verifyElementPresent |
+ id=city |
+ |
+
+
+ verifyElementPresent |
+ id=state |
+ |
+
+
+ verifyElementPresent |
+ id=postcode |
+ |
+
+
+ verifyElementPresent |
+ id=country |
+ |
+
+
+ verifyElementPresent |
+ id=phonenumber |
+ |
+
+
+ verifyElementPresent |
+ id=securityqid |
+ |
+
+
+ verifyElementPresent |
+ id=securityqans |
+ |
+
+
+ verifyElementPresent |
+ id=customfields-7 |
+ |
+
+
+ verifyElementPresent |
+ id=customfields-71 |
+ |
+
+
+ verifyElementPresent |
+ id=paymentmethod-paypal |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='total_box']/b[2] |
+ |
+
+
+ verifyElementPresent |
+ css=input[type="submit"] |
+ |
+
+
+
+
diff --git a/tests/selenium/Add Media Skeleton Present.html b/tests/selenium/Add Media Skeleton Present.html
new file mode 100644
index 000000000..597721829
--- /dev/null
+++ b/tests/selenium/Add Media Skeleton Present.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+Add Media Skeleton Present
+
+
+
+
+Add Media Skeleton Present |
+
+
+ open |
+ /Showbuilder |
+ |
+
+
+ clickAndWait |
+ //ul[@id='nav']/li[2]/a/span |
+ |
+
+
+ verifyElementPresent |
+ id=recent_uploads |
+ |
+
+
+ verifyElementPresent |
+ id=plupload_files_container |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Airtime.html b/tests/selenium/Airtime.html
new file mode 100644
index 000000000..8ae8c5bf1
--- /dev/null
+++ b/tests/selenium/Airtime.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Test Suite
+
+
+
+
+
diff --git a/tests/selenium/Calendar Add Show Skeleton.html b/tests/selenium/Calendar Add Show Skeleton.html
new file mode 100644
index 000000000..d16810637
--- /dev/null
+++ b/tests/selenium/Calendar Add Show Skeleton.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+Calendar Add Show Skeleton
+
+
+
+
+Calendar Add Show Skeleton |
+
+
+ open |
+ /Library |
+ |
+
+
+ clickAndWait |
+ link=Calendar |
+ |
+
+
+ click |
+ link=Show |
+ |
+
+
+ click |
+ //div[@id='schedule-add-show']/h3[2] |
+ |
+
+
+ click |
+ //div[@id='schedule-add-show']/h3[3] |
+ |
+
+
+ click |
+ //div[@id='schedule-add-show']/h3[4] |
+ |
+
+
+ click |
+ //div[@id='schedule-add-show']/h3[5] |
+ |
+
+
+ verifyElementPresent |
+ id=schedule-add-show |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule-add-show']/div/button |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_name |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_url |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_genre |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_description |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_start_date |
+ |
+
+
+ click |
+ id=add_show_start_date-label |
+ |
+
+
+ click |
+ id=add_show_duration-label |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_duration |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_timezone |
+ |
+
+
+ verifyValue |
+ id=add_show_repeats |
+ off |
+
+
+ verifyElementPresent |
+ id=add_show_repeats |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_hosts_autocomplete |
+ |
+
+
+ verifyElementPresent |
+ id=cb_airtime_auth |
+ |
+
+
+ verifyElementPresent |
+ id=cb_custom_auth |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_background_color |
+ |
+
+
+ verifyElementPresent |
+ id=add_show_color |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Calendar Day Week Month Views.html b/tests/selenium/Calendar Day Week Month Views.html
new file mode 100644
index 000000000..6923d1c8a
--- /dev/null
+++ b/tests/selenium/Calendar Day Week Month Views.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+Calendar Day Week Month Views
+
+
+
+
+Calendar Day Week Month Views |
+
+
+ open |
+ /Schedule |
+ |
+
+
+ clickAndWait |
+ css=li.top.active > a.top_link > span |
+ |
+
+
+ click |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span/span/span |
+ |
+
+
+ verifyElementPresent |
+ css=select.schedule_change_slots.input_select |
+ |
+
+
+ selectWindow |
+ null |
+ |
+
+
+ waitForTable |
+ css=table.fc-header.0.2 |
+ dayweekmonth |
+
+
+ click |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span[3]/span/span |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar']/div/div/table/thead/tr/th[4] |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar'] |
+ |
+
+
+ click |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span[5]/span/span |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar']/div/div/table/thead/tr/th |
+ |
+
+
+
+
diff --git a/tests/selenium/Calendar Skeleton Present.html b/tests/selenium/Calendar Skeleton Present.html
new file mode 100644
index 000000000..9275f8ecb
--- /dev/null
+++ b/tests/selenium/Calendar Skeleton Present.html
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+Calendar Skeleton Present
+
+
+
+
+Calendar Skeleton Present |
+
+
+ open |
+ /Library |
+ |
+
+
+ clickAndWait |
+ link=Calendar |
+ |
+
+
+ verifyElementPresent |
+ id=schedule_calendar |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span[3]/span/span |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span[5]/span/span |
+ |
+
+
+ verifyElementPresent |
+ link=Show |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='schedule_calendar']/table/tbody/tr/td[3]/span/span/span |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Library Skeleton Present.html b/tests/selenium/Library Skeleton Present.html
new file mode 100644
index 000000000..4c34a993b
--- /dev/null
+++ b/tests/selenium/Library Skeleton Present.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+Library Skeleton Present
+
+
+
+
+Library Skeleton Present |
+
+
+ open |
+ /Plupload |
+ |
+
+
+ clickAndWait |
+ //ul[@id='nav']/li[3]/a/span |
+ |
+
+
+ verifyElementPresent |
+ id=library_content |
+ |
+
+
+ verifyElementPresent |
+ id=side_playlist |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Listen Button Skeleton.html b/tests/selenium/Listen Button Skeleton.html
new file mode 100644
index 000000000..5fb225fd6
--- /dev/null
+++ b/tests/selenium/Listen Button Skeleton.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+Listen Button Skeleton
+
+
+
+
+Listen Button Skeleton |
+
+
+ open |
+ /billing/invoices |
+ |
+
+
+ click |
+ css=a.listen-control-button > span |
+ |
+
+
+ waitForPopUp |
+ name |
+ 30000 |
+
+
+ selectWindow |
+ name=name |
+ |
+
+
+ verifyElementPresent |
+ id=combo-box |
+ |
+
+
+ verifyElementPresent |
+ id=popup-link |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Login and Logout.html b/tests/selenium/Login and Logout.html
new file mode 100644
index 000000000..5a72b31de
--- /dev/null
+++ b/tests/selenium/Login and Logout.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+Login and Logout
+
+
+
+
+Login and Logout |
+
+
+ open |
+ /login/logout |
+ |
+
+
+ open |
+ /login |
+ |
+
+
+ type |
+ id=username |
+ admin |
+
+
+ type |
+ id=password |
+ admin |
+
+
+ clickAndWait |
+ id=submit |
+ |
+
+
+ verifyElementPresent |
+ css=a.listen-control-button > span |
+ |
+
+
+ clickAndWait |
+ link=Logout |
+ |
+
+
+ verifyElementPresent |
+ id=submit |
+ |
+
+
+
+
diff --git a/tests/selenium/Login.html b/tests/selenium/Login.html
new file mode 100644
index 000000000..a51883ea7
--- /dev/null
+++ b/tests/selenium/Login.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+Login
+
+
+
+
+Login |
+
+
+ open |
+ /login |
+ |
+
+
+ type |
+ id=username |
+ admin |
+
+
+ type |
+ id=password |
+ admin |
+
+
+ clickAndWait |
+ id=submit |
+ |
+
+
+
+
+
diff --git a/tests/selenium/Preferences Skeletons.html b/tests/selenium/Preferences Skeletons.html
new file mode 100644
index 000000000..67fab75ef
--- /dev/null
+++ b/tests/selenium/Preferences Skeletons.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+Preferences Skeletons
+
+
+
+
+Preferences Skeletons |
+
+
+ open |
+ /Schedule |
+ |
+
+
+ clickAndWait |
+ link=Preferences |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='content']/div |
+ |
+
+
+ clickAndWait |
+ link=Users |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='content']/div |
+ |
+
+
+ clickAndWait |
+ link=Streams |
+ |
+
+
+ verifyElementPresent |
+ //div[@id='content']/div |
+ |
+
+
+ verifyElementPresent |
+ id=icecast_vorbis_metadata |
+ |
+
+
+ clickAndWait |
+ link=Status |
+ |
+
+
+ verifyElementPresent |
+ css=table.statustable |
+ |
+
+
+ clickAndWait |
+ link=Listener Stats |
+ |
+
+
+ verifyElementPresent |
+ id=listenerstat_content |
+ |
+
+
+ verifyElementPresent |
+ css=span.ui-icon.ui-icon-search |
+ |
+
+
+
+
+
diff --git a/tests/selenium/System Menu Contents.html b/tests/selenium/System Menu Contents.html
new file mode 100644
index 000000000..2a2a4077c
--- /dev/null
+++ b/tests/selenium/System Menu Contents.html
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+System Menu Contents
+
+
+
+
+System Menu Contents |
+
+
+ open |
+ /Schedule |
+ |
+
+
+ verifyElementPresent |
+ link=Preferences |
+ |
+
+
+ verifyElementPresent |
+ link=Users |
+ |
+
+
+ verifyElementPresent |
+ link=Streams |
+ |
+
+
+ verifyElementPresent |
+ link=Status |
+ |
+
+
+ verifyElementPresent |
+ link=Support Feedback |
+ |
+
+
+ verifyElementPresent |
+ link=Listener Stats |
+ |
+
+
+
+
+