第六章 Unittest测试框架

xiaoxiao2021-02-28  37

单元测试 #coding=utf-8 import unittest def add(a,b): c=a+2*b return c if __name__=="__main__": print(add(2,3)) 测试框架 注意:1.用例之间不要存在依赖关系,每个用例都能单独运行 2.用例不要互相调用,需要调用的公共方法可以写成方法去调用 #coding=utf-8 from selenium import webdriver import unittest import time '''注意: 1.测试类,继承单元测试TestCase这个类 2.(非必须)setUp(),无操作直接写pass 3. .(非必须) tearDown(),无操作直接写pass 4.测试用例必须以test开头 5.用例执行顺序是按ascii码顺序 ''' #创建一个测试用例类 class baidu(unittest.TestCase): #前置条件 def setUp(self): #打开火狐浏览器 self.driver=webdriver.Firefox() #打开百度网页 self.driver.get("https://www.baidu.com") #第1条用例 def test_001(self): #点击输入框 self.driver.find_element_by_name("wd").click() #第2条用例 def test_002(self): #在输入框输入123 self.driver.find_element_by_name("wd").send_keys("123") #后置条件 def tearDown(self): time.sleep(20) #退出浏览器 self.driver.quit() if __name__=="__main__": unittest.main() 装饰器@classmethod #coding=utf-8 import unittest import time #setUpClass只打开一次浏览器,必须要加@classmethod修饰 class Test1(unittest.TestCase): '''测试类,是多个测试用例的集合,可以把一些相同的操作写成一个类''' @classmethod def setUpClass(cls): print(123) def test_01(cls): print(11111111) @classmethod def tearDownClass(cls): print(456) if __name__=="__main__": unittest.main 断言assert

assert是用来检查一个条件,如果它为真,就不做任何事。 如果它为假,则会抛出AssertError并且包含错误信息

def test_01(cls): a=1 b=1 #1.返回值是否相等 print(cls.assertEqual(a,b))#判断a==b print(cls.assertNotEqual(a, b) )#判断a!=b #2.返回值是布尔值 print(cls.assertTrue(a==b))#判断布尔值a==b print(cls.assertFalse(a==b) )#判断布尔值a!=b #3.返回值是否为空 print(cls.assertIsNone(None))#判断是否为空 print(cls.assertIsNotNone("1") )#判断是否不为空 #返回值是否包含某值 print(cls.assertIn(a,b))#判断a在b里面 print(cls.assertNotIn(a, b))#判断a不在b里面
转载请注明原文地址: https://www.6miu.com/read-2632769.html

最新回复(0)