设计HouseTest类,它派生自unittest.TestCase类 [[BR]] 它是整个自动化测试系统的基类,实现普通用户登陆,管理员登陆,断言元素是否存,处理弹框等基本功能。 {{{ ...... class HouseTest(unittest.TestCase): ....... def setUp(self): browser = { 'ie' : lambda : self.ie(), 'firefox' : lambda : self.firefox(), 'chrome' : lambda : self.chrome() } self.driver = browser['firefox']() self.driver.implicitly_wait(10) self.base_url = "http://localhost.pchouse.com.cn/" #self.base_url = "http://dev13.pchouse.com.cn:84/" self.verificationErrors = [] self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) def user_login(self): ''' kods登陆 ''' driver = self.driver driver.get(self.base_url + "/bbs7/index.do") driver.find_element_by_id("username").send_keys("kods") driver.find_element_by_id("password").send_keys("123456") driver.find_element_by_id("submit").click() def admin_login(self): ''' 管理员lifeng登陆 ''' self.driver.get(self.base_url + "/bbs7/admin.do") self.driver.find_element_by_id("username").send_keys("lifeng") self.driver.find_element_by_id("password").send_keys("123456") self.driver.find_element_by_css_selector("input.button").click() self.driver.find_element_by_name("password").send_keys("123456") self.driver.find_element_by_name("Input").click() 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 if __name__ == "__main__": unittest.main() }}}