社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python自动化测试应用-番外篇

51Testing软件测试网 • 7 年前 • 1111 次点击  


  1.1、概要

  本文主要内容是教大家学习如何利用Python对Jira缺陷进行管理操作。

  在平时的测试中,大家对于缺陷管理平台一定不陌生,平时的缺陷都要去平台进行操作。今天我们就来看看Python是怎么样连接Jira进行操作的。

  1.2、获取JIRA数据

  某天领导要看XX项目的目前缺陷情况,总共有多少bug,多少未处理的,未处理的bug中严重程度是怎么样的,这些bug都属于谁来负责修改等。这一串问题足以把任何一个测试人员击垮,如果平时不做准备的话。

  如果你有一个定期统计缺陷信息的习惯的话,我相信你会很淡定的把结果展示给你的领导,像下图这样。

  图表中的数据应该全部来源于缺陷管理平台,如果平时有一个定期统计信息的习惯的话,那么你会很清楚的掌握目前项目的缺陷情况。今天我们重点不是将如何做好项目缺陷的统计,但是自动化的获取这些平台缺陷的信息的目的就是为了这些数据。

  首先Python操作Jira平台只需要利用Jira库就可以了,安装也很简单

  控制台输入:pip install jira

  当安装好jira库后,我们就可以连接Jira平台了,先来一个简单的脚本:连接Jira并获取当前平台所有的项目。

  from jira import JIRA

  jr=JIRA('http://jira地址',basic_auth=('登录名','密码'))

  #连接jira

  print u'当前登录用户 :'+jr.user(jr.current_user())

  #打印当前用户,通过jr.user(用户名)获取用户名称

  print datetime.datetime.now().strftime('%Y年%m月%d日')

  print '============================================'

  for i in jr.projects():#jr.projects()获取所有项目,返回项目字典

  print i,i.name

  输出结果:

  好了,第一步通过jr.projects获取到项目名称后,我们就可以获取该项目下的具体缺陷信息了。获取项目下缺陷用到search_issues('project=项目name')方法,具体写法:

  issue=jr.search_issues('project=APPBUG')

  for i in iss:

  print i,i.id

  issue返回的是项目下缺陷的list,其中包含每条缺陷的key,id值。当然我们获取这个列表的长度就是项目目前缺陷总数了。我们看看返回结果:

  紧接着就是获取某条缺陷的具体信息了,像我们平时录入缺陷所要填的信息,比如:缺陷等级,缺陷状态,缺陷类型,创建时间,缺陷概要,缺陷内容,缺陷创建人,缺陷指派人,附件,备注等等信息。我们通过上面获取到的缺陷key值来获取具体的缺陷上,脚本里这样写:

  isss=jr.issue('APPBUG-486')

  #传入具体缺陷的key值

  print isss.fields.issuetype

  #打印缺陷的类型,类型根据自己jira平台设置的类型而定,如缺陷,改进等

  print isss.fields. summar

  #打印缺陷的主题即标题内容

  print isss.fields.description

  #打印缺陷的描述即具体内容

  print isss.fields. status

  #打印缺陷的当前状态,如:已解决,关闭

  print isss.fields. resolution

  #打印缺陷的解决结果,此处是开发人员填写

  print isss.fields. priority

  #打印缺陷的优先级,如:严重,重要,轻微等

  print isss.fields. reporter

  #打印缺陷的创建人名称

  print isss.fields. assignee

  #打印缺陷的指派人名称

  print isss.fields. created

  #打印缺陷的创建日期

  print isss.fields.updated

  #打印缺陷的修改日期

  print '%s'%isss.fields.comment.comments

  #打印缺陷的备注信息

  print isss.fields.attachment

  #打印缺陷的附件信息

  print '%s'%isss.fields.components

  #打印缺陷的所属模块信息

  print isss.fields.environment

  #打印缺陷的环境信息

  基本上以上这些缺陷信息都是一个缺陷的必备内容了。此时我们就可以做进一步的开发了,比如获取项目中各种状态的缺陷数,利用isss.fields. status获取项目缺陷的状态分别统计个数,如果加上isss.fields. priority优先级判断,可以统计对应的状态的缺陷优先级个数。如下图

......

源自《51测试天地》原创测试文章(四十六)

 
推荐阅读

点击阅读☞如何将Python应用到实际测试工作中?

点击阅读☞Selenium基础框架的封装(Python版)

点击阅读☞Python自动化测试番外篇—接口测试

点击阅读☞Appium+Python做移动端自动化测试

点击阅读☞Python使用装饰器在执行单元测试时配置环境



点击左下角“阅读原文”,查看全文内容


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/kLOs8Lm9uu
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2813
 
1111 次点击