import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions class PythonOrgSearch(unittest.TestCase): screen_shot_counter=0 def setUp(self): self.driver = webdriver.Remote( command_executor='http://selenium:4444/wd/hub', desired_capabilities=DesiredCapabilities.FIREFOX) self.driver.get("http://rollerverbrauch:5000") WebDriverWait(self.driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "email"))) def test_page_loads(self): self.driver.get("http://rollerverbrauch:5000") self.create_screenshot() assert "refuel" in self.driver.title def test_can_register(self): self.driver.get("http://rollerverbrauch:5000") self.driver.find_element_by_partial_link_text('Register').click() self.create_screenshot() WebDriverWait(self.driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "submit"))) self.create_screenshot() self.driver.find_element_by_id('email').send_keys('test@test.com') self.driver.find_element_by_id('password').send_keys('test123') self.driver.find_element_by_id('password_confirm').send_keys('test123') self.create_screenshot() self.driver.find_element_by_id('submit').click() WebDriverWait(self.driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "i1"))) self.create_screenshot() def test_register_must_repeat_pwd(self): self.driver.get("http://rollerverbrauch:5000") self.driver.find_element_by_partial_link_text('Register').click() self.create_screenshot() WebDriverWait(self.driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "submit"))) self.create_screenshot() self.driver.find_element_by_id('email').send_keys('test@test.com') self.driver.find_element_by_id('password').send_keys('test123') self.create_screenshot() self.driver.find_element_by_id('submit').click() self.create_screenshot() error = self.driver.find_elements_by_class_name('error') assert error is not None def create_screenshot(self): self.driver.get_screenshot_as_file('/results/screenshot_%s.png' % (str(self.screen_shot_counter))) self.screen_shot_counter += 1 def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()