- #coding=utf-8
- 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 Login(unittest.TestCase):
- def setUp(self):
- self.driver = webdriver.Firefox()
- self.driver.implicitly_wait(30)
- self.base_url = "http://www.xxxxx.com/"
- self.verificationErrors = []
- self.accept_next_alert = True
- def test_login(self):
- driver = self.driver
- driver.get(self.base_url )
- for i in range(60):
- try:
- if u"xxxxx" == driver.title: break
- except: pass
- time.sleep(1)
- else: self.fail("time out")
- try: self.assertEqual(u"xxxx", driver.title)
- except AssertionError as e: self.verificationErrors.append(str(e))
- try: self.assertEqual(u"登录", driver.find_element_by_link_text(u"登录").text)
- except AssertionError as e: self.verificationErrors.append(str(e))
- driver.find_element_by_link_text(u"登录").click()
- for i in range(60):
- try:
- if u"登录 - xx" == driver.title: break
- except: pass
- time.sleep(1)
- else: self.fail("time out")
- driver.find_element_by_id("mail").clear()
- driver.find_element_by_id("mail").send_keys("xxxx")
- driver.find_element_by_id("pwd").clear()
- driver.find_element_by_id("pwd").send_keys("xxxx")
- driver.find_element_by_CSS_selector("button.btn-grey.btn-regular").click()
- for i in range(60):
- try:
- if u"xxxxx" == driver.title: break
- except: pass
- time.sleep(1)
- else: self.fail("time out")
- for i in range(60):
- try:
- if u"xxxx" == driver.title: break
- except: pass
- time.sleep(1)
- else: self.fail("time out")
- try: self.assertEqual(u"退出", driver.find_element_by_link_text(u"退出").text)
- except AssertionError as e: self.verificationErrors.append(str(e))
- driver.find_element_by_link_text(u"退出").click()
- for i in range(60):
- try:
- if u"首页" == driver.find_element_by_link_text(u"首页").text: break
- except: pass
- time.sleep(1)
- else: self.fail("time out")
- 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()
- #该片段来自于http://www.codesnippet.cn/detail/120520149513.html
来源: http://www.codesnippet.cn/detail/120520149513.html