API_log.py
- import logging
-
- class loger():
- def logering(self):
- # 创建logger对象
- logger = logging.getLogger('test_logger')
-
- # 设置日志等级
- logger.setLevel(logging.DEBUG)
-
- # 追加写入文件a ,设置utf-8编码防止中文写入乱码
- test_log = logging.FileHandler('test.log', 'a', encoding='utf-8')
-
- # 向文件输出的日志级别
- test_log.setLevel(logging.DEBUG)
-
- # 向文件输出的日志信息格式
- formatter = logging.Formatter('%(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s ')
-
- test_log.setFormatter(formatter)
-
- # 加载文件到logger对象中
- logger.addHandler(test_log)
-
- return logger
-
- if __name__ == "__main__":
- pass
- # test = loger().logering()
- log_test = loger().logering()
代码定义了一个名为loger
(应该为logger
以与日志记录模块保持一致)的类。这个类有一个名为logering()
的方法,它创建一个日志记录器对象,并将其配置为将日志消息追加到名为"test.log"的文件中。
以下是代码的详细解析:
logging
模块。loger
类。loger
类内定义了logering()
方法。logering()
方法中进行了日志记录器的配置,将日志消息写入追加模式的名为"test.log"的文件中。执行测试case
- import pytest
- import requests
- import API_log
- # 实例化日志方法
- logger = API_log.log_test
-
-
- session = requests.Session()
-
-
- # 请求登陆接口,获取session状态
- def test_001():
- url = 'http://127.0.0.1:5000/login'
-
- data = {
- 'username': 'admin',
- 'password': 'admin123'
- }
- logger.info(f"请求路径:{url} , 请求参数 {data}")
- res = session.request(url=url, method='post', data=data)
- logger.info(f"响应内容:{res.text}")
- assert res.text == 'Login successful'
- return session
-
-
- # 请求查看金额接口,通过session = requests.Session() ,保存登陆状态
- def test_002():
- url2 = 'http://127.0.0.1:5000/query_balance'
- logger.info(f"请求路径:{url2}")
- res1 = requests.get(url=url2)
- logger.info(f"响应内容:{res1.text}")
- assert res1.text == 'Please login first'
-
-
- if __name__ == '__main__':
- pytest.main(["-v", "testcase.py"])
这段代码使用了pytest
和requests
库进行接口测试,并引入了之前提到的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
库进行接口测试,并使用日志记录器记录请求和响应的相关信息,以便后续查看和分析。