| Version 2 (modified by chenyang, 12 years ago) (diff) |
|---|
设计HouseTest类,它派生自unittest.TestCase类
它是整个自动化测试系统的基类,实现普通用户登陆,管理员登陆,断言元素是否存,处理弹框等基本功能。
base模块,base.py示例如下
......
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()
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)