测牛学堂学习笔记:软件测试自动化之selenuim单元测试和日志记录

设置日志

很多公司要求自动化测试需要有日志记录。

记录程序运行时的状态和结果,方便排查问题。

实现步骤:

①在项目中创建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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容