pytest、tox、Jenkins实现python接口自动化持续集成

pytest介绍

pytest是一款强大的python测试工具,能够胜任各类级别的软件测试工做,能够自动查找测试用并执行,而且有丰富的基础库,能够大幅度提升用户编写测试用例的效率,具有可扩展性,用户本身也能够编写插件实现特定的功能,也能够安装第三方插件,很是容易的与其余工具集成到一块儿,好比持续集成、接口自动化测试等。小编以前也写过几篇关于pytest的文章,能够到主页查看哈。html

tox介绍

tox是一个命令行工具,容许测试在多种环境下执行,tox不只能测试不一样的python版本,还能够用它来测试不一样的依赖配置和不一样的操做系统的配置。python

工做原理大体是,经过setup.py文件为待测程序建立源码安装包,它会查看tox.ini中的全部环境设置,并针对每一个环境执行以下操做:工具

  1. 在.tox目录下建立一个虚拟环境
  2. 使用pip安装依赖包
  3. 使用pip在步骤1的虚拟环境中安装本身的程序包
  4. 运行测试用例

下面经过一个实例来看一下tox的运行过程:测试

在项目根目录下新建tox.ini文件,而后加入下面的配置ui

[tox]
envlist = py36

[testenv:dev]
; deps告诉tox确保pytest已经安装,若是有多个测试依赖,能够按行罗列,同时也能够指定版本
deps =
    pytest
; 告诉tox在每一个测试环境里运行pytest
commands = pytest --junitxml=junit-{envname}.xml
[pytest]
markers =
    smoke: 用于冒烟测试
    get

addopts = -rsxX -l --tb=short --strict
xfail_strict = true
minversion = 3.0
norecursedirs = .* venv src *.egg dist build
testpaths = tests
python_classes = *Test Test* *Suit

在项目根目录下执行tox -e dev查看输出内容。操作系统

tox1.jpgfile插件

Jenkins配置

  • 安装python插件

tox2.pngfile命令行

  • 建立一个多配置风格的job

tox3.jpgfile3d

  • 源码配置

tox4.jpgfilecode

  • 配置axes

tox5.jpgfile

  • 添加python构建脚本

tox6.pngfile

import toxos.chdir(os.getenv("WORKSPACE"))tox.cmdline()

而后构建执行,就能够了。

这篇文章说的比较粗糙,后面会加tox的介绍和Jenkins的配置说明 原文连接

欢迎你们去 个人博客 瞅瞅,里面有更多关于测试实战的内容哦!!