• 009 selenium 分离功能和测试


    '''
    时间: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()

  • 相关阅读:
    类似jq的即点即改
    负载均衡
    设置session的过期时间
    php连接池 php–cp
    正则表达式之我见—平衡组/递归匹配
    正则表达式之我见—处理模式
    正则表达式之我见—注释
    正则表达式之我见—零宽断言 与 负向零宽断言
    正则表达式之我见—后向引用
    正则表达式之我见—反义
  • 原文地址:https://www.cnblogs.com/huafan/p/10085829.html
Copyright © 2020-2023  润新知