''' 时间:2018/12/07 功能:分离功能和测试 目录: 一: 功能模块 二: 测试模块 '''
一: 功能模块
from selenium import webdriver import time class LoginZenTao(): def __init__(self, driver): self.driver = driver def login(self, user = "admin", psw = "123456"): self.driver.get("http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html") self.driver.find_element_by_id("account").send_keys(user) self.driver.find_element_by_name("password").send_keys(psw) self.driver.find_element_by_id("submit").click() def get_login_username(self): try: name = self.driver.find_element_by_css_selector("#userMenu>a").text print(name) return name except: return "" def is_alert_exits(self): try: time.sleep(2) alert = self.driver.switch_to.alert text = alert.text alert.accept() return text except: return "" if __name__ == "__main__": driver = webdriver.Firefox() zantao = LoginZenTao(driver) zantao.login()
二: 测试模块
from selenium import webdriver import time import unittest from selenium009.test001_test import LoginZenTao class LoginTest(unittest.TestCase): '''登录类的案例''' @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() cls.zentao = LoginZenTao(cls.driver) @classmethod def tearDownClass(cls): cls.driver.quit() def setUp(self): self.driver.get("http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html") self.zentao.is_alert_exits() self.driver.delete_all_cookies() # 清除cook self.driver.refresh() time.sleep(2) def tearDown(self): self.zentao.is_alert_exits() self.driver.delete_all_cookies() self.driver.refresh() def test_001(self): '''登录成功''' self.zentao.login("admin", "123456") time.sleep(2) name = self.zentao.get_login_username() self.assertTrue("admin" == name) def test_002(self): '''登录失败''' self.zentao.login("admin", "12345678") time.sleep(2) name = self.zentao.get_login_username() self.assertTrue("" == name) if __name__ == "__main__": unittest.main()