首页 > 编程语言 >python接口自动化系列(03):创建自动化框架项目

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

时间:2024-03-03 20:59:00浏览次数:30  
标签:__ 03 log python pytest 自动化 uncleyong 日志

 

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

实现目标

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

 

创建项目

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

[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

 

标签:__,03,log,python,pytest,自动化,uncleyong,日志
From: https://www.cnblogs.com/uncleyong/p/18033023

相关文章

  • It's just a little homework
    Firsthomework这个作业属于哪个课程软件工程这个作业要求在哪里Firsthomwork这个作业的目标介绍自我,阅读教材初步认识软件工程课程我是谁?张荆茂,来自广东工业大学软件工程三班课程5问软件工程到底是什么?怎样将课程内容用于实践?没有学习过任何面向......
  • python接口自动化系列(04):读取数据文件并注入到测试方法
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标把用例yaml文件中数据读取出来,依次把每条用例数据传给测试方法。 安装模块安装操作yaml的模块pyyamlpipinstallpyyaml 测试数据文件放data目录case.yaml 内容:----epic:全栈测......
  • python接口自动化系列(05):获取常用变量
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标获取常用变量,方便后面解析初始化sql或者请求参数的时候将常用变量占位符替换为实际值。 添加常用变量数据文件data目录下创建variable.yaml 内容:---'#{username}':tester'#{password_......
  • python接口自动化系列(02):yaml测试数据文件设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标对测试数据进行设计,数据设计决定了后续读取数据的代码该如何实现。 关于被测试接口配套练习环境(含相关接口):https://www.cnblogs.com/uncleyong/p/17165143.html 常用数据用例数据频繁使用......
  • python接口自动化系列(01):自动化测试框架设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074先看下最终效果(gif) 报告总览 前言之前分享了java自动化(详见:https://www.cnblogs.com/uncleyong/p/15867903.html),部分小伙伴建议分享一个python版本,安排!!!当然,通过测试招聘要求大家也可以发现,目前......
  • python的安装与环境配置
    1、首先再python的官网上面找到自己系统的安装包并下载,下载成功后打开安装包。2、点击以后选择英文Customizeinstallation(这是自定义安装的路径)建议选择自定义安装,方便后续程序的管理,installNow是安装在C盘。并且选择下面的Addpython3.8topath(环境变量)3、保持默认选......
  • python中的多线程及锁介绍
    线程CPU执行调度的最小单位。不能独立存在,依赖进程存在。一个进程至少有一个线程,叫做主线程,另外还有内核线程、用户线程。线程之间共享内存。线程之间的通信效率远高于进程间通信效率,线程之间切换代价也比进程小很多。适用场景Python的多线程适用于IO密集型任务。多任务可以......
  • centos7 安装python3.8
    #cd/usr/local#yum-ygroupinstall"Developmenttools"#yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel#yuminstalllibffi-devel-ywgethttps:/......
  • python 与jupyter notebook 安装和环境配置
    一、pyhon环境安装下载Python:首先,从Python官方网站(https://www.python.org/downloads/)Download点击下载Python的安装程序运行安装程序:下载完成后,运行Python的安装程序。在安装过程中,确保勾选“AddPythontoPATH”选项,这样可以方便在命令行中使用Python自定义目录......
  • P1040 [NOIP2003 提高组] 加分二叉树
    原题链接题解计算分数是搜索存储前缀注意细节code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllsco[35][35]={0};stringpre[35][35];lla[35]={0};queue<ll>q;inlinevoidread(ll&x){x=0;llflag=1;charc=getch......