遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

python接口自动化系列(03):创建自动化框架项目

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/18033074

实现目标

搭建能基于pytest运行测试用例的项目。

 

另外,用到的ide工具是pycharm

 

创建项目

1、输入项目名称

2、选择项目位置

3、自定义虚拟环境(默认即可)

 

创建完成

 

安装pytest

补充:python虚拟环境操作,详见:https://www.cnblogs.com/uncleyong/p/17947601

 

进入虚拟环境

 

查看已经安装的包:pip list

 

升级pip:python -m pip install --upgrade pip

 

安装pytest:pip install pytest

 

查看已经安装的包:可以看到pytest,pip也升级了

 

如果要推出虚拟环境,执行命令:deactivate

 

创建目录结构

根据第一篇(https://www.cnblogs.com/uncleyong/p/18033000)的目录结构规划创建

 

pytest配置文件(pytest.ini)

说明:logging是python内置模块,不需要额外安装

新增如下内容:

[pytest]
; 配置命令行
addopts = -vs --strict-markers
testpaths = ./case
python_files = test_*.py
python_classes = Test*
python_functions = test_*


;日志开关
log_cli = 1

;输出到terminal
;日志级别
log_cli_level = info
;日志格式
log_cli_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s)
;日志时间格式
log_cli_date_format = %Y-%m-%d %H:%M:%S


; 输出到文件
;日志文件位置
log_file = ./log/test.log
;日志文件等级
log_file_level = info
;日志文件格式
log_file_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s)
;日志文件日期格式
log_file_date_format = %Y-%m-%d %H:%M:%S

 

创建测试模块

case下创建test_cases.py

 

内容为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 韧
# @wx: ren168632201
# @Blog: https://www.cnblogs.com/uncleyong/

import logging
logger = logging.getLogger(__name__)


class TestCase:
    def test_case(self):
        logger.info("---测试开始,断言1==1")
        assert 1 == 1

 

main.py内容

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 韧
# @wx: ren168632201
# @Blog: https://www.cnblogs.com/uncleyong/

import pytest

if __name__ == '__main__':
    pytest.main()

 

运行用例

在虚拟机环境中进入项目根目录运行

python main.py运行

 

也可以直接pytest运行

 

log目录下生成了log文件

 

日志文件内容仅有最后一次运行的日志,说明之前运行日志被覆盖了

 

优化:动态生成log文件名

参考:https://www.cnblogs.com/uncleyong/p/18017483

 

posted @ 2024-03-03 20:40  全栈测试笔记  阅读(816)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end