当前位置:   article > 正文

pytest 结合logging输出日志保存至文件_pytest 输出日志

pytest 输出日志

 API_log.py

  1. import logging
  2. class loger():
  3. def logering(self):
  4. # 创建logger对象
  5. logger = logging.getLogger('test_logger')
  6. # 设置日志等级
  7. logger.setLevel(logging.DEBUG)
  8. # 追加写入文件a ,设置utf-8编码防止中文写入乱码
  9. test_log = logging.FileHandler('test.log', 'a', encoding='utf-8')
  10. # 向文件输出的日志级别
  11. test_log.setLevel(logging.DEBUG)
  12. # 向文件输出的日志信息格式
  13. formatter = logging.Formatter('%(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s ')
  14. test_log.setFormatter(formatter)
  15. # 加载文件到logger对象中
  16. logger.addHandler(test_log)
  17. return logger
  18. if __name__ == "__main__":
  19. pass
  20. # test = loger().logering()
  21. log_test = loger().logering()

 代码定义了一个名为loger(应该为logger以与日志记录模块保持一致)的类。这个类有一个名为logering()的方法,它创建一个日志记录器对象,并将其配置为将日志消息追加到名为"test.log"的文件中。

以下是代码的详细解析:

  1. 导入了logging模块。
  2. 定义了loger类。
  3. loger类内定义了logering()方法。
  4. logering()方法中进行了日志记录器的配置,将日志消息写入追加模式的名为"test.log"的文件中。

 执行测试case

  1. import pytest
  2. import requests
  3. import API_log
  4. # 实例化日志方法
  5. logger = API_log.log_test
  6. session = requests.Session()
  7. # 请求登陆接口,获取session状态
  8. def test_001():
  9. url = 'http://127.0.0.1:5000/login'
  10. data = {
  11. 'username': 'admin',
  12. 'password': 'admin123'
  13. }
  14. logger.info(f"请求路径:{url} , 请求参数 {data}")
  15. res = session.request(url=url, method='post', data=data)
  16. logger.info(f"响应内容:{res.text}")
  17. assert res.text == 'Login successful'
  18. return session
  19. # 请求查看金额接口,通过session = requests.Session() ,保存登陆状态
  20. def test_002():
  21. url2 = 'http://127.0.0.1:5000/query_balance'
  22. logger.info(f"请求路径:{url2}")
  23. res1 = requests.get(url=url2)
  24. logger.info(f"响应内容:{res1.text}")
  25. assert res1.text == 'Please login first'
  26. if __name__ == '__main__':
  27. pytest.main(["-v", "testcase.py"])

这段代码使用了pytestrequests库进行接口测试,并引入了之前提到的API_log模块中的日志记录器对象logger

代码的主要部分包括两个测试函数:test_001()test_002()

test_001()函数发送一个POST请求到http://127.0.0.1:5000/login接口,传递用户名和密码作为请求参数。在发送请求前,使用日志记录器记录了请求路径和参数。发送请求后,记录了响应内容,并使用断言验证了响应文本是否为'Login successful'。

test_002()函数发送一个GET请求到http://127.0.0.1:5000/query_balance接口。同样地,在发送请求前,使用日志记录器记录了请求路径。发送请求后,记录了响应内容,并使用断言验证了响应文本是否为'Please login first'。

最后,通过pytest.main(["-v", "testcase.py"])运行了测试脚本。

这段代码的目的是使用pytest库进行接口测试,并使用日志记录器记录请求和响应的相关信息,以便后续查看和分析。

(35条消息) python 把txt文本的log日志倒序处理_U盘失踪了的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/392235
推荐阅读
相关标签
  

闽ICP备14008679号