#!/usr/bin/python import os username, password = os.environ['DOCKER_CREDS'].split(':') from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException import unittest, time, re class Docker(unittest.TestCase): def setUp(self): self.driver = webdriver.PhantomJS() self.driver.implicitly_wait(30) self.base_url = "http://www.docker.io/" self.verificationErrors = [] self.accept_next_alert = True def test_docker(self): driver = self.driver print "Login into {0} as login user {1} ...".format(self.base_url,username) driver.get(self.base_url + "/") driver.find_element_by_link_text("INDEX").click() driver.find_element_by_link_text("login").click() driver.find_element_by_id("id_username").send_keys(username) driver.find_element_by_id("id_password").send_keys(password) print "Checking login user ..." driver.find_element_by_css_selector("input[type=\"submit\"]").click() try: self.assertEqual("test", driver.find_element_by_css_selector("h3").text) except AssertionError as e: self.verificationErrors.append(str(e)) print "Login user {0} found".format(username) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException, e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main()