Unnitest总结

第一点,setUp和tearDown方法

每次执行test开头的用例都会执行setUp和tearDown方法

如:

     import unittest

 class Mydemo(unittest.TestCase):
def setUp(self):
print('调用setUp方法')
self.a = 1
def test1(self):
print("i am test1 the value of a is {}".format(self.a))
def test2(self):
print("i am test2 the value of a is {}".format(self.a))
def test3(self):
print("i am test3 the value of a is {}".format(self.a))
def tearDown(self):
print("调用tearDown方法")
if __name__ == '__main__':
unittest.main()

结果:

第二点: setUpClass和tearDownClass方法

如:

     import unittest
class Mydemo(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("调用setUpClass\n")
def test1(self):
print("i am test1")
def test2(self):
print("i am test2")
@classmethod
def tearDownClass(cls):
print("调用tearDownClass")
if __name__ == '__main__':
unittest.main()

结果:

第三点:定义全局的属性,可以放到setUpClass中testCase中均可去调用

如:

     class NavigationTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(30)
cls.driver.maximize_window()
cls.driver.get('https://www.baidu.com/')
driver = cls.driver #定义在全局中
cls.search_field = driver.find_element_by_name('wd') #定义在全局中 def testBrowserNavigation(self):
self.search_field.clear()
print('执行test1') self.search_field.send_keys('圣女果')
self.search_field.submit()
time.sleep(1) self.assertEqual('圣女果_百度搜索',self.driver.title) self.driver.back()
self.assertTrue(WebDriverWait(self.driver,30).until(expected_conditions.title_contains('百度一下')))
def testBrowserNavigation2(self):
driver = self.driver
search_field = driver.find_element_by_name('wd')
search_field.clear()
print('执行test2') search_field.send_keys('璎珞')
search_field.submit()
time.sleep(1)
@classmethod
def tearDownClass(cls):
driver = cls.driver
time.sleep(10)
driver.quit() if __name__ == "__main__":
unittest.main()

第四点:testCase之间的执行顺序按照默认是以首字母排序的

执行顺序test1,test10,....test18,test2,..........test9

Unnitest总结

第一点,setUp和tearDown方法

每次执行test开头的用例都会执行setUp和tearDown方法

如:

l   import unittest

class Mydemo(unittest.TestCase):
    def setUp(self):
        print('调用setUp方法')
        self.a =
1
    def test1(self):
        print("i am test1 the value of a is {}".format(self.a))
    def test2(self):
        print("i am test2 the value of a is {}".format(self.a))
    def test3(self):
        print("i am test3 the value of a is {}".format(self.a))
    def tearDown(self):
        print("调用tearDown方法")
if __name__ == '__main__':
    unittest.main()

结果:

第二点: setUpClass和tearDownClass方法

如:

l   import unittest
class Mydemo(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("调用setUpClass\n")
    def test1(self):
        print("i am test1")
    def test2(self):
        print("i am test2")
    @classmethod
    def tearDownClass(cls):
        print("调用tearDownClass")
if __name__ == '__main__':
    unittest.main()

结果:

第三点:定义全局的属性,可以放到setUpClass中testCase中均可去调用

如:

l   class NavigationTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.implicitly_wait(30)
        cls.driver.maximize_window()
        cls.driver.get('https://www.baidu.com/')
        driver = cls.driver #定义在全局中
        cls.search_field = driver.find_element_by_name('wd') #定义在全局中     def testBrowserNavigation(self):
        self.search_field.clear()
        print('执行test1')         self.search_field.send_keys('圣女果')
        self.search_field.submit()
        time.sleep(1)         self.assertEqual('圣女果_百度搜索',self.driver.title)         self.driver.back()
        self.assertTrue(WebDriverWait(self.driver,30).until(expected_conditions.title_contains('百度一下')))
    def testBrowserNavigation2(self):
        driver = self.driver
        search_field = driver.find_element_by_name('wd')
        search_field.clear()
        print('执行test2')         search_field.send_keys('璎珞')
        search_field.submit()
        time.sleep(1)
    @classmethod
    def tearDownClass(cls):
        driver = cls.driver
        time.sleep(10)
        driver.quit() if __name__ == "__main__":
    unittest.main()

第四点:testCase之间的执行顺序按照默认是以首字母排序的

执行顺序test1,test10,....test18,test2,..........test9

Unnitest测试框架总结的更多相关文章

  1. phpunit 测试框架安装

    PHPUnit是一个轻量级的PHP测试框架.它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计).来自百度百科 一.下载wg ...

  2. 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本

    某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...

  3. selenium测试框架使用xml作为对象库

    之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...

  4. selenium 测试框架中使用grid

    之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecr ...

  5. selenium测试框架篇,页面对象和元素对象的管理

    前期已经做好使用Jenkins做buildhttp://www.cnblogs.com/tobecrazy/p/4529399.html 做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让 ...

  6. Junit测试框架 Tips

    关于Junit测试框架使用的几点总结: 1.Junit中的测试注解: @Test →每个测试方法前都需要添加该注解,这样才能使你的测试方法交给Junit去执行. @Before →在每个测试方法执行前 ...

  7. Python几种常用的测试框架

    一.测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过 ...

  8. 测试框架Mocha与断言expect

    测试框架Mocha与断言expect在浏览器和Node环境都可以使用除了Mocha以外,类似的测试框架还有Jasmine.Karma.Tape等,也很值得学习. 整个项目源代码: 为什么学习测试代码? ...

  9. 在测试框架中使用Log4J 2

    之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecr ...

随机推荐

  1. echarts各个配置项详细说明总结

    https://blog.csdn.net/sinat_34492035/article/details/70258557 https://blog.csdn.net/qq_34908167/arti ...

  2. hana-banach定理

    1.  x1不是X除开G以外所有的空间 2.如果极大元不是全空间的话,根据前面的讨论,还可以延拓,这就和极大矛盾了

  3. Python_内置函数之map()

    map 会根据提供的函数对指定序列做映射. 代码如下: def square(x): return x ** 2 ret = map(square, [1, 2, 3, 4, 5]) # 计算列表各元 ...

  4. CRM系统(第三部分)

      阅读目录 1.销售与客户的表结构 2.公共客户池 3.确认跟进 4.我的客户 5.code 1.销售与客户的表结构 1.公共客户与我的客户 ---公共客户(公共资源) 1.没有报名 2.3天没有跟 ...

  5. PAT L2-020 功夫传人

    https://pintia.cn/problem-sets/994805046380707840/problems/994805059118809088 一门武功能否传承久远并被发扬光大,是要看缘分 ...

  6. PAT L2-023 图着色问题

    https://pintia.cn/problem-sets/994805046380707840/problems/994805057298481152 图着色问题是一个著名的NP完全问题.给定无向 ...

  7. http/https与websocket的ws/wss的关系以及通过Nginx的配置

    http/https与websocket的ws/wss的关系 - 哒哒哒 - CSDN博客 https://blog.csdn.net/Garrettzxd/article/details/81674 ...

  8. js刷新界面前事件onbeforeunload

    这个方法的作用是防止填写信息时不小心按了刷新(F5,刷新界面,返回). 目前能实现这个需求的只有这个方法. 具体代码如下: 1.首先在body添加 onbeforeunload 这个事件 <bo ...

  9. 【360图书馆】插入U盘自动攻击:BadUSB原理与实现

    插入U盘自动攻击:BadUSB原理与实现       漏洞背景 “BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的Black ...

  10. js实现input的赋值

    input框赋值如下所示,是一个文本框的html代码,实际开发中,要涉及到将数据库中的数据取出然后放入input框中. <input id="name1" name=&quo ...