zoukankan      html  css  js  c++  java
  • @classmethod装饰器

    当一个类中有多条用例,我们在执行的时候每执行一条用例就要重新打开一次浏览器操作,例如下:

    start

    test1

    quit

    start

    test2

    start

    若我们使用@classmethod装饰器,就只需要打开一次浏览器,执行完用例后再关闭,例如下:

    start

    test1

    test2

    quit

    代码:

    from selenium import webdriver
    import unittest,time
    from selenium.webdriver.support import expected_conditions as EC
    class Test1(unittest.TestCase):
    #测试类,是多个测试用例的集合,可以把一些相同的操作写成一个类
    @classmethod
    def setUpClass(cls):
    cls.driver=webdriver.Chrome()
    cls.driver.get("http://www.cnblogs.com/linbao/")

    time.sleep(2)

    def test_01(self):
    u'''验证元素存在:博客园'''
    locator = ("id", "blog_nav_sitehome")
    text = u"博客园"
    time.sleep(2)
    result = EC.text_to_be_present_in_element(locator, text)(self.driver)
    time.sleep(2)
    self.assertTrue(result)
    def test_02(self):
    u'''验证元素存在:首页'''
    locator = ("id", "blog_nav_myhome")
    text = u"首页"
    time.sleep(2)
    result = EC.text_to_be_present_in_element(locator, text)(self.driver)
    time.sleep(2)
    self.assertTrue(result)

    @classmethod
    def tearDownClass(cls):
    # 后置操作
    time.sleep(2)
    cls.driver.quit()


    if __name__=="__main__":
    #运行主函数
    unittest.main()
  • 相关阅读:
    .NET 4.5 is an in-place replacement for .NET 4.0
    python Argparse模块的使用
    linux的fork(), vfork()区别
    Linux 的 strace 命令
    NTFS系统的ADS交换数据流
    Git和.gitignore
    GIT常用命令
    OSChina码云试用
    tcpdump用法
    linux网卡混杂模式
  • 原文地址:https://www.cnblogs.com/linbao/p/7568721.html
Copyright © 2011-2022 走看看