1.jenkins部分

1.1 安装jenkins

jenkins下载地址:https://jenkins.io/download/

安装步骤,疯狂点击下一步

1.2 打开jenkins服务

在浏览器上输入127.0.0.1:8080

2.代码部分

代码下载地址:https://github.com/taomin1/pyunittest

2.1 目录架构

-testcase

--testsuite

-case_listener

-test_runner

-README

2.2 test_case

test_case包含多个test_suite,所有的测试用例均写在这个目录下,并且以test_suite_**.py命名(原因是jenkins配置时会讲到)

test_suite_baidu实例代码

2.3 caseListener

caseListener是一个装饰器,作用是在执行case时进行部分操作,比如打印执行开始,或者将执行结果执行结果存储到数据库等等

2.4 test_runner

test_runner是执行case的主入口,主要是在jenkins上配置时通过该文件去执行case

3.jenkins配置部分

3.1新建job

3.2 输入job名字

选择构建一个自由风哥的软件项目

3.3 进行git配置,用于jenkins运行时获取代码

3.4 进行shell配置

export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin/

增加环境变量,因为我的本地机器装了3.6和2.7,代码是基于3.6编码的

python3 test_runner.py -p test_suite_**.py

通过test_runner去执行case,执行时回去检索以test_suite_**.py这种格式的case,所以在之前要求case命名格式要求

-p 是命名符合,在test_runner有源码,有兴趣同学可以详细看一下

4.结果演示

jenkins console显示为成功,在结果列表展示也为空

5.后续

1. 代码可以继续拆分

2.可以集成django和数据库用于可视化操作

3.HtmlTestRunner安装

下载后移动到python3安装目录下,https://i.cnblogs.com/Files.aspx

修改记录:

第94行,将import StringIO修改成import io

第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:

第766行,将uo = o.decode('latin-1')修改成uo = e

第775行,将ue = e.decode('latin-1')修改成ue = e

第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

基于python的unittest测试框架集成到jenkins(Mac)的更多相关文章

  1. python利用unittest测试框架组织测试用例的5种方法

    利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...

  2. Python单元测试unittest测试框架

    本文的主题是自动化测试框架的实现,在实现之前,先了解一下关于unittest模块的相关知识: Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回 ...

  3. 基于Python的接口自动化-unittest测试框架和ddt数据驱动

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

  4. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  5. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  6. Selenium之unittest测试框架详谈及实操

    申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...

  7. 基于python3在nose测试框架的基础上添加测试数据驱动工具

    [本文出自天外归云的博客园] Python3下一些nose插件经过2to3的转换后失效了 Python的nose测试框架是通过python2编写的,通过pip3install的方式安装的nose和相关 ...

  8. <day002>Selenium基本操作+unittest测试框架

    任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...

  9. 基于soapUI构建WebService测试框架

    基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html

随机推荐

  1. CSS 简介 4

    css css尺寸属性 height 设置元素的高度 line-height 设置行高 max-height 设置元素的最大高度 max-width 设置元素的最大宽度 min-height 设置元素 ...

  2. beyond compare 免费版

    链接:https://pan.baidu.com/s/10lPUEpFPZU76HRbJfbZ2ZA 提取码:r2go

  3. leecode第一百四十六题(LRU缓存机制)

    class LRUCache { private: unordered_map<int, list<pair<int,int>>::iterator> _m; // ...

  4. ECharts注释

    <!DOCTYPE html> <head> <meta charset="utf-8"> <title>ECharts</t ...

  5. CentOs系统设置python版本

    一.针对当前终端生效 最近云服务器安装了centos7系统,python默认版本是2.7.5,但是习惯用anaconda3, 安装anaconda3之后将系统默认python版本更改为python3. ...

  6. Spring中的@Async

    在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后, ...

  7. 字节顺序标记——BOM,Byte Order Mark

    定义 BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码.     介绍 UTF-8 不需要 BOM,尽管 Unico ...

  8. Python学习——多线程,异步IO,生成器,协程

    Python的语法是简洁的,也是难理解的. 比如yield关键字: def fun(): for i in range(5): print('test') x = yield i print('goo ...

  9. apply、call、bind的区别

    apply.call.bind这三种方法一般用来改变this指向. apply()方法接收两个参数,一个是函数运行的作用域this,另一个是参数数组 call()方法接收两个参数,一个是函数运行的作用 ...

  10. 学习笔记-AngularJs(八)

    在使用form.FormController和ngModel.NgModelController之前,先来学习一下怎么一个ng-model-options指令,觉得怎么这个指令挺好用的,我们知道ng- ...