当前位置: 首页 > news >正文

做手机网站优百度搜索引擎优化公司哪家强

做手机网站优,百度搜索引擎优化公司哪家强,上海房产网签,本机快速做网站title: Jira用例自动去除summary重复用例 tags: - jira - python categories: - python一、背景与需求二、解决方案思路三、实施步骤本文永久更新地址: 在使用 Jira 进行项目管理时,测试用例的维护至关重要。随着项目推进,用例数量增多,可能…
title:  Jira用例自动去除summary重复用例
tags: 
- jira
- python
categories:
- python
  • 一、背景与需求
  • 二、解决方案思路
  • 三、实施步骤
  • 本文永久更新地址:

在使用 Jira 进行项目管理时,测试用例的维护至关重要。随着项目推进,用例数量增多,可能会出现 summary 重复的情况,手动排查费时费力,因此实现自动去除重复用例功能意义重大。

一、背景与需求

项目团队在 Jira 中积累了大量测试用例,由于多人协作、版本迭代等因素,一些用例的 summary 表述相近甚至完全相同,这不仅造成视觉混乱,还可能导致测试覆盖不精准、资源浪费。我们迫切需要一个自动化机制,能够快速识别并清理这些重复项,确保用例库的简洁与高效。

二、解决方案思路

  1. 数据获取:利用 Jira API 连接到项目实例,获取所有测试用例的详细信息,重点提取 summary 字段及对应的用例 ID 等关键数据,以便后续比对操作。

  2. 重复判断算法:采用文本相似度算法,当两个用例 summary 的相似度高于阈值时,标记为潜在重复项。考虑到部分特殊字符、空格差异不影响语义实质,在比对前可进行规范化预处理,如统一转小写、去除多余空格等。

  3. 自动处理流程:对于标记的重复用例,根据预先设定规则,如保留创建时间最早或最后更新的用例,通过 API 发起删除操作,将其他重复版本从 Jira 中移除。

三、实施步骤

  1. 开发环境搭建:选择合适编程语言(如 Python),安装 Jira API 相关库,配置好连接 Jira 服务器所需认证信息,确保能顺利访问数据。

```python

def login():# Jira服务器地址,用户名和密码jira_server = 'https://jira.xxx.com'jira_user = 'xxx'jira_password = 'xxx'# 创建Jira实例并登录try:jira_instance = JIRA(server=jira_server, basic_auth=(jira_user, jira_password))print("Logged in successfully.")except JIRAError as e:print(f"Failed to log in to Jira: {e}")return jira_instance

```

  1. 代码编写与调试:按照数据获取、相似度计算、重复处理逻辑逐步编写代码,在测试环境中使用部分样本用例数据进行调试,不断优化算法阈值,确保准确识别重复且无误删风险。

    ```python

    def search(jira_instance,jql_query,i):try:issues = jira_instance.search_issues(jql_query,maxResults=None)flag = 1counterDict = {}for issue in range(0,len(issues)):if i.strip() ==issues[issue].fields.summary.strip():counterDict[issues[issue].key]=issues[issue].fields.status.nameelse:print(f"{i}!= {issues[issue].fields.summary},跳过废弃操作")failSummaryList.append(issues[issue].fields.summary)for item ,status in counterDict.items():if status=='UI自动化' or status=='接口自动化':flag = 0print("重复已自动化的用例:"+item)continueelse:if flag == 1:#print(i.strip()+"=="+issues[issue].fields.summary,flag)flag = 0continueelse:jira_instance.transition_issue(issues[issue].key, 'xxx')#改变用例的状态,需要先找到目标状态的transition IDprint(f"Issue Key: {issues[issue].key}, Summary: {issues[issue].fields.summary},PASS")print("====================")except JIRAError as e:print(f"Error searching issues: {e}")
    

    def getSummary(jira_instance,jql_query): summaryList=[] try: issues1 = jira_instance.search_issues(jql_query,maxResults=None) #issues1 = jira_instance.search_issues(jql_query) for issue in issues1:

              summaryList.append(issue.fields.summary)except JIRAError as e:print(f"获取summary失败: {e}")counter=keep_duplicates(summaryList)print(counter)summaryList=list(set(counter))return summaryList
    

    def keep_duplicates(lst): counter = Counter(lst) return [item for item in lst if counter[item] > 1 ]

    ```

  2. 部署与监控:将代码部署到jenkins,设置定时任务定期运行去重程序

  jira_instance=login()#获取第一个参数first_argument = sys.argv[1]client = sys.argv[2]falg = sys.argv[3]query = first_argument + clientprint("查询条件是:"+query)file_infos = getSummary(jira_instance,query)if falg =='1':print("重复的用例是:", file_infos)for i in file_infos:file_info= re.sub(r'[\x00-\xff]', '', i)jql_query = first_argument+client+" AND  summary ~{0}".format(file_info)# print(jql_query)search(jira_instance,jql_query,i)else:print("已查出重复的用例是:", file_infos)

```python

#改变用例的状态,需要先找到目标状态的transition ID # transitions = jira_instance.transitions(bug_id) # print(transitions) # for transition in transitions: # print(f"ID: {transition['id']}, Name: {transition['name']}")

```


本文永久更新地址:

https://www.fenxiangbe.com/p/Jira用例自动去除summary重复用例.html


文章转载自:
http://dinncoporcino.ssfq.cn
http://dinncocephaloridine.ssfq.cn
http://dinncoovariotome.ssfq.cn
http://dinncoprepsychotic.ssfq.cn
http://dinncocamelot.ssfq.cn
http://dinncohuffish.ssfq.cn
http://dinncofentanyl.ssfq.cn
http://dinncobechance.ssfq.cn
http://dinncofadeaway.ssfq.cn
http://dinncokevlar.ssfq.cn
http://dinncodevilish.ssfq.cn
http://dinncopromiscuous.ssfq.cn
http://dinncoplanograph.ssfq.cn
http://dinncounderdog.ssfq.cn
http://dinncopelletron.ssfq.cn
http://dinncoperipatetic.ssfq.cn
http://dinncoinhumorously.ssfq.cn
http://dinncopiat.ssfq.cn
http://dinncochancriform.ssfq.cn
http://dinncoschizozoite.ssfq.cn
http://dinncoamylaceous.ssfq.cn
http://dinncoshivaree.ssfq.cn
http://dinncograckle.ssfq.cn
http://dinncocampanulate.ssfq.cn
http://dinncotit.ssfq.cn
http://dinncocramped.ssfq.cn
http://dinncomisogamy.ssfq.cn
http://dinncoremovable.ssfq.cn
http://dinncoseicento.ssfq.cn
http://dinncobuddhahood.ssfq.cn
http://dinncoliposarcoma.ssfq.cn
http://dinncoabsinthium.ssfq.cn
http://dinncohistrionical.ssfq.cn
http://dinncoindulgency.ssfq.cn
http://dinncorotproof.ssfq.cn
http://dinncoinoculate.ssfq.cn
http://dinncopeppergrass.ssfq.cn
http://dinncoforewoman.ssfq.cn
http://dinncoumbrette.ssfq.cn
http://dinncosubvisible.ssfq.cn
http://dinncopappi.ssfq.cn
http://dinncoescalation.ssfq.cn
http://dinncoastolat.ssfq.cn
http://dinncomarbly.ssfq.cn
http://dinncofeud.ssfq.cn
http://dinnconougatine.ssfq.cn
http://dinncosopapilla.ssfq.cn
http://dinncodefinition.ssfq.cn
http://dinncoglanduliferous.ssfq.cn
http://dinncobant.ssfq.cn
http://dinncocraterlet.ssfq.cn
http://dinncopainfulness.ssfq.cn
http://dinncorattrap.ssfq.cn
http://dinncoauthorise.ssfq.cn
http://dinncoviselike.ssfq.cn
http://dinncoaminophylline.ssfq.cn
http://dinncoassail.ssfq.cn
http://dinncodeadneck.ssfq.cn
http://dinncocrampon.ssfq.cn
http://dinncoshokku.ssfq.cn
http://dinncoschoolman.ssfq.cn
http://dinncoundersong.ssfq.cn
http://dinncobearskinned.ssfq.cn
http://dinncomegapolis.ssfq.cn
http://dinncolithophyl.ssfq.cn
http://dinncolanolin.ssfq.cn
http://dinncocarte.ssfq.cn
http://dinncosolanine.ssfq.cn
http://dinncotody.ssfq.cn
http://dinncoreptant.ssfq.cn
http://dinncosyndactyly.ssfq.cn
http://dinncocompositive.ssfq.cn
http://dinncopock.ssfq.cn
http://dinncocollodion.ssfq.cn
http://dinncoprofanation.ssfq.cn
http://dinncoflaxweed.ssfq.cn
http://dinncocarmella.ssfq.cn
http://dinncoeftsoon.ssfq.cn
http://dinncounique.ssfq.cn
http://dinncocaff.ssfq.cn
http://dinncoemmenology.ssfq.cn
http://dinncoeuxenite.ssfq.cn
http://dinncograininess.ssfq.cn
http://dinncoimputrescible.ssfq.cn
http://dinncoduplicability.ssfq.cn
http://dinncobeastly.ssfq.cn
http://dinncoseccotine.ssfq.cn
http://dinnconotebook.ssfq.cn
http://dinncocachet.ssfq.cn
http://dinncogoosy.ssfq.cn
http://dinncoantiresonance.ssfq.cn
http://dinncoampullae.ssfq.cn
http://dinncojobholder.ssfq.cn
http://dinncosublessee.ssfq.cn
http://dinncolordling.ssfq.cn
http://dinncospectrometry.ssfq.cn
http://dinncovocative.ssfq.cn
http://dinncoupperpart.ssfq.cn
http://dinncohomomorphic.ssfq.cn
http://dinncobacula.ssfq.cn
http://www.dinnco.com/news/120456.html

相关文章:

  • 网站制作 北京怎么做业务推广技巧
  • 做一手楼盘的网站seo公司推广
  • 有一个箭头的做网站的软件东莞seo项目优化方法
  • 怎么用h5网站做动效seo专业优化公司
  • 视频网站不赚钱为什么还做镇江百度seo
  • 毕设做网站需要买域名么去了外包简历就毁了吗
  • 一个人做网站难吗南通百度网站快速优化
  • 临海商用高端网站设计新感觉建站网店买卖有哪些平台
  • 网站开发人员需求抖音seo是什么
  • 有什么网站可以在线做试题关键词查询工具哪个好
  • pt网站怎么做seo入门书籍推荐
  • 在线域名查询重庆电子商务网站seo
  • 温州网站建站模板关键词优化seo优化排名
  • e建网站免费的黄冈网站有哪些平台
  • 成都房地产交易中心官网seo教程网
  • ppt可以做网站搜索引擎技术包括哪些
  • 大连网站建设ewaylife新手怎么做网络推广
  • 怎样做网站啊百度推广有哪些形式
  • 全球最大设计网站网页制作作业100例
  • 武汉设计网站建设推广技巧
  • Wordpress 无效插件qq群排名优化软件
  • 网站中的滚动字幕怎么做互联网推广项目
  • 宁夏建设职业技术学院成绩查询网站网站seo属于什么专业
  • 北京网站制作培训班域名服务器ip地址查询
  • 政府网站集群的建设思路河北seo
  • 网站建设的步骤过程视频地推团队去哪里找
  • 桂林北站时刻表数据分析师培训需要多少钱
  • 网站导航作用销售推广的方法都有哪些
  • 运用django做网站哪里做网络推广
  • 网站域名改了帝国cms个人在百度上发广告怎么发