设置日志
很多公司要求自动化测试需要有日志记录。
记录程序运行时的状态和结果,方便排查问题。
实现步骤:
①在项目中创建config目录(不用创建包),复制粘贴log.conf文件
②在项目中创建logs目录,用于存放具体的日志记录信息
③编码:
import logging
import logging.config # 子模块
def get_log():
logging.config.fileConfig('config/log.conf')
log = logging.getLogger()
return log
if __name__ =='__main__':
log = get_log()
log.info('普通信息')
log.warning('警告信息')
log.error('错误信息')
注意:
1 logging是内置模块,就是用来记录日志使用的。
2 log.conf配置文件是自己写死的,拿来用就行了
3 log对象的info,warning,error,既会在控制台输出,也会生成一个文件在logs中
单元测试
unittest,python的内置模块,用于实现单元测试
特点:
每个方法可以单独运行,方便进行基于方法的测试
import unittest
# 自己定义一个类继承 unittest.TestCase
class MyCase(unittest.TestCase):
@classmethod # 声明类方法
def setUpClass(cls) -> None:
print('只执行一次,开头执行')
@classmethod
def tearDownClass(cls) -> None:
print('只执行一次,程序结尾')
def setUp(self) -> None:
print('111,每个测试用例开始都会执行我')
def tearDown(self) -> None:
print('222,每个测试用例结束都会执行我')
# 具体的用例,一个方法就是一个用例,用例必须用test开头
def test_01(self):
print('我是测试用例1')
def test_02(self):
print('我是测试用例2')
# 设置主程序执行
if __name__ == '__main__':
unittest.main()
'''
只执行一次,开头执行
111,每个测试用例开始都会执行我
我是测试用例1
222,每个测试用例结束都会执行我
111,每个测试用例开始都会执行我
我是测试用例2
222,每个测试用例结束都会执行我
Ran 2 tests in 0.002s
只执行一次,程序结尾
OK
'''
注意:
1 后面会详细使用,这次就记住大概的结构和运行模式
2 -> None: 是一种语法,表示建议返回值
测试断言
测试用例一定要有断言,就是测试的结果是否符合预期结果。
assert就是断言
assertIn断言是否包含
def test_01(self):
html = '<html><body><div id="one">sss</div><body></html>'
self.assertIn('one',html) # 断言one在html中
print('我是测试用例1')
assertEqual 断言 是否相等
def test_02(self):
print('我是测试用例2')
dt = {
'id':10,
'user_name':'zhangsan',
'state':'success'
}
res = dt['state']
self.assertEqual('success',res)
assertTrue 断言是否为真
def test_03(self):
print('我是测试用例3')
res = True
self.assertTrue(res)
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可