zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    Oracle 数据库简介
    Qt 中事件与处理
    npm常用命令总结
    自适应宽度布局
    原生js发送ajax请求
    微信调试本地环境代码
    多行文本溢出显示省略号
    清除浮动
    用JQuery动态为选中元素添加/删除类
    input中加入搜索图标
  • 原文地址:https://www.cnblogs.com/huafan/p/10085829.html
Copyright © 2011-2022 走看看