Skip to content

Commit d01d3c2

Browse files
committed
Added a check for the phantomjs binary to the skip-selenium tests in ietf/meeting/tests_js.py, in order to be able to add selenium to requirements.txt. This will make the selenium tests run if phantomjs is available on the system, without manually having to install the selenium module. This should make the buildbot run the selenium tests, too.
- Legacy-Id: 11456
2 parents 2ef60f4 + ca87b89 commit d01d3c2

2 files changed

Lines changed: 10 additions & 24 deletions

File tree

ietf/meeting/tests_js.py

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from ietf.meeting.test_data import make_meeting_test_data
1212
from ietf.meeting.models import SchedTimeSessAssignment
1313
from ietf.utils.test_utils import set_coverage_checking
14+
from ietf.utils.pipe import pipe
1415
from ietf import settings
1516

1617
skip_selenium = getattr(settings,'SKIP_SELENIUM',None)
@@ -23,7 +24,13 @@
2324
from selenium.webdriver.common.action_chains import ActionChains
2425
except ImportError as e:
2526
skip_selenium = True
26-
skip_message = str(e)
27+
skip_message = " Skipping selenium tests: %s" % e
28+
code, out, err = pipe('phantomjs -v')
29+
if not code == 0:
30+
skip_selenium = True
31+
skip_message = " Skipping selenium tests: 'phantomjs' executable not found."
32+
if skip_selenium:
33+
sys.stderr.write(skip_message+'\n')
2734

2835
def condition_data():
2936
make_meeting_test_data()
@@ -40,6 +47,7 @@ def setUp(self):
4047
self.driver.set_window_size(1024,768)
4148

4249
def tearDown(self):
50+
self.driver.close()
4351
set_coverage_checking(True)
4452

4553
def debugSnapshot(self,filename='debug_this.png'):
@@ -77,29 +85,6 @@ def testUnschedule(self):
7785
time.sleep(0.1) # The API that modifies the database runs async
7886
self.assertEqual(SchedTimeSessAssignment.objects.filter(session__meeting__number=42,session__group__acronym='mars').count(),0)
7987

80-
@skipIf(skip_selenium, skip_message)
81-
class InterimRequestTests(StaticLiveServerTestCase):
82-
def setUp(self):
83-
set_coverage_checking(False)
84-
condition_data()
85-
self.driver = webdriver.PhantomJS(service_log_path=settings.TEST_GHOSTDRIVER_LOG_PATH)
86-
self.driver.set_window_size(1024,768)
87-
88-
def tearDown(self):
89-
set_coverage_checking(True)
90-
91-
def absreverse(self,*args,**kwargs):
92-
return '%s%s'%(self.live_server_url,urlreverse(*args,**kwargs))
93-
94-
def testInterimRequest(self):
95-
url = self.absreverse('ietf.meeting.views.interim_request')
96-
self.driver.get(url)
97-
element = self.driver.find_element_by_id('id_form-0-date')
98-
self.assertTrue(element)
99-
100-
def testJustSitThere(self):
101-
time.sleep(10000)
102-
10388
# The following are useful debugging tools
10489

10590
# If you add this to a LiveServerTestCase and run just this test, you can browse

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ python-dateutil>=2.2
2929
python-magic>=0.4.6
3030
python-memcached>=1.48 # for django.core.cache.backends.memcached
3131
pytz>=2014.7
32+
selenium>=2.42
3233
six>=1.8.0
3334
tqdm>=3.5.0
3435
Unidecode>=0.4.18

0 commit comments

Comments
 (0)