欢迎关注【无量测试之道】公众号
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、


文章下方有公众号二维码,可直接微信扫一扫关注即可。

禅道是非常实用的项目管理平台,它在业界也是非常有名的,对于使用它来对bug进行管理也是相当便捷的,今天简单分享一下如何通过 api 来提交bug到禅道,代码如下:

 1 import requests
 2 loginhost="http://zen.beta.cn/index.php?m=user&f=login" #登录url
 3 add_bughost="http://zen.beta.cn/index.php?m=bug&f=create&productID=10&branch=0&extra=moduleID=0" #new bug url
 4  
 5 def add_bug():
 6     header={'Content-Type': "application/x-www-form-urlencoded; charset=utf-8"}#设置请求头
 7     datas={"account":"$admin","password":"123456"} #定义请求的数据
 8     s=requests.session() #实例化一个session对象
 9     response=s.post(loginhost,headers=header,data=datas)#使用session发起请求
10  
11  print(response.content)
12  
13  data = {
14  "product": "10", # int 所属产品 * 必填
15  "openedBuild": "master", # int | trunk 影响版本 * 必填
16  "branch": "2", # int 分支 / 平台
17  "module": "434", # int 所属模块
18  "project": "84", # int 所属项目
19  "assignedTo": "baoyi", # string 指派给
20  "deadline": "2020-07-28", # date 截止日期 日期格式:YY - mm - dd,如:2019 - 01 - 01
21  "type": "codeerror", #bug类型
22  "bugPhase": "live",#bug在什么环境发现
23  "severity": "3", # int 严重程度 取值范围:1 | 2 | 3 | 4
24  "pri": "3", # int 优先级 取值范围:0 | 1 | 2 | 3 | 4
25  "keywords": "", # string 关键词
26  "title": "feedback", #标题
27  "story":1143, #需求
28  "steps": "set bug link in here" # string 重现步骤
29  }
30  responses=s.post(add_bughost,headers=header,data=data)
31  print(responses.content.decode("utf-8"))
32  
33 if __name__ == '__main__':
34  add_bug()

简单说明下,requests库的session会话对象可以跨请求保持某些参数,换句话说,就是比如你使用session成功的登录了某个网站,则在再次使用该session对象请求该网站的其他网页都会默认使用该session之前使用的cookie等参数。

 

运行代码后效果如下:

Python 一招搞定禅道提交bug_公众号

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

Python 一招搞定禅道提交bug_公众号_02

 添加关注,让我们一起共同成长!