单元测试
import unittest
def add(a,b):
c=a+
2*b
return c
if __name__==
"__main__":
print(add(
2,
3))
测试框架 注意:1.用例之间不要存在依赖关系,每个用例都能单独运行 2.用例不要互相调用,需要调用的公共方法可以写成方法去调用
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")
def test_001(self):
self.driver.find_element_by_name(
"wd").click()
def test_002(self):
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
import unittest
import time
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
print(cls.assertEqual(a,b))
print(cls.assertNotEqual(a, b) )
print(cls.assertTrue(a==b))
print(cls.assertFalse(a==b) )
print(cls.assertIsNone(
None))
print(cls.assertIsNotNone(
"1") )
print(cls.assertIn(a,b))
print(cls.assertNotIn(a, b))