Skip to content

Commit

Permalink
Merge pull request #6 from prabhuramachandran/selenium-tests
Browse files Browse the repository at this point in the history
Selenium tests
  • Loading branch information
prabhuramachandran committed Mar 15, 2017
2 parents 8d5928b + 2b234ff commit 27f2f28
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 7 deletions.
16 changes: 15 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,28 @@ language: python
python:
- 2.7

addons:
firefox: latest

install:
- pip install -r requirements.txt
- pip install coverage codecov
- pip install coverage codecov selenium
- python setup.py develop

before_script:
- firefox --version
- wget https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-linux64.tar.gz
- mkdir geckodriver
- tar -xzf geckodriver*.tar.gz -C geckodriver
- export PATH=$PATH:$PWD/geckodriver
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start

script:
- coverage erase
- coverage run -p -m nose.core -v vixen/tests
- coverage run -p -m nose.core -v vixen/integration_tests
- coverage combine

after_success:
Expand Down
17 changes: 11 additions & 6 deletions vixen/integration_tests/test_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ def test_edit_view_project(self):
e = Select(browser.find_element_by_id('tag-type-2'))
e.select_by_visible_text('bool')

browser.find_element_by_id('new-extension').send_keys('.txt')
browser.find_element_by_id('add-extension').click()

# Save changes.
e = wait.until(EC.presence_of_element_located((By.ID, 'apply')))
e.click()
Expand All @@ -93,14 +96,16 @@ def test_edit_view_project(self):
# Then
self.assertEqual(len(ui.vixen.projects), 1)
p = ui.vixen.projects[0]
self._wait_while(lambda: p.tags[1].type != 'int')

self.assertEqual(p.name, 'test1')
self.assertEqual(p.root.path, data_path)
self.assertEqual(p.tags[0].name, 'comments')
self.assertEqual(p.tags[1].name, 'count')
self.assertEqual(p.tags[2].name, 'processed')
self.assertEqual(p.tags[1].type, 'int')
self.assertEqual(p.tags[2].type, 'bool')
self.assertEqual(p.number_of_files, 5)
self.assertEqual(p.number_of_files, 4)
m = p.get('root.txt')
self.assertEqual(m.relpath, 'root.txt')
self.assertEqual(m.type, 'text')
Expand Down Expand Up @@ -140,7 +145,7 @@ def test_edit_view_project(self):
e = wait.until(EC.presence_of_element_located((By.ID, 'path-2')))
e.click()
self._wait_while(lambda: viewer.current_file is None)
self.assertEqual(viewer.current_file.name, 'hello.py')
self.assertEqual(viewer.current_file.name, 'root.txt')

# Change some tag information and save.
e = wait.until(EC.presence_of_element_located((By.ID, 'tag-0')))
Expand All @@ -153,7 +158,7 @@ def test_edit_view_project(self):
self._wait_while(lambda: ui.is_busy)

# Then
m = p.get('hello.py')
m = p.get('root.txt')
self._wait_while(lambda: m.tags['count'] == 0, 20)
self.assertEqual(m.tags['comments'], 'test')
self.assertEqual(m.tags['count'], 1)
Expand All @@ -179,13 +184,13 @@ def test_edit_view_project(self):
e = wait.until(EC.presence_of_element_located((By.ID, 'search-item-0')))
e.click()
self._wait_while(lambda: viewer.media is None)
self.assertEqual(viewer.media.file_name, 'hello.py')
self.assertTrue(viewer.media.file_name, 'root.txt')
self.assertEqual(ui.viewer.is_searching, True)
self.assertEqual(ui.viewer.search_completed, True)

browser.find_element_by_id('clear-search').click()

e = wait.until(EC.presence_of_element_located((By.ID, 'path-3')))
e = wait.until(EC.presence_of_element_located((By.ID, 'path-2')))
self.assertEqual(ui.viewer.is_searching, False)

# When
Expand Down Expand Up @@ -219,7 +224,7 @@ def test_edit_view_project(self):
self._wait_while(lambda: len(ui.vixen.projects) > 0)
self.assertEqual(len(ui.vixen.projects), 0)

def _wait_while(self, cond, count=10, sleep=0.05):
def _wait_while(self, cond, count=20, sleep=0.05):
i = 0
time.sleep(sleep)
while cond() and i < count:
Expand Down

0 comments on commit 27f2f28

Please sign in to comment.