您的位置:首页 > 教育 > 锐评 > 荔湾区关键词优化报价_软件开发流程以及简要描述_厦门seo公司到1火星_sem 推广软件

荔湾区关键词优化报价_软件开发流程以及简要描述_厦门seo公司到1火星_sem 推广软件

2025/2/27 6:35:37 来源:https://blog.csdn.net/u013080870/article/details/145637778  浏览:    关键词:荔湾区关键词优化报价_软件开发流程以及简要描述_厦门seo公司到1火星_sem 推广软件
荔湾区关键词优化报价_软件开发流程以及简要描述_厦门seo公司到1火星_sem 推广软件

【python】连接Jira获取token以及jira对象

【python】向Jira测试计划下,附件中增加html测试报告

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025-02-12 14:15
# @Author  : duxiaowei
# @File    : put_filename_jira.py
# @Software: 这个文件是 : 将自动化用例运行结果,推送到jiraimport requests
from jira import JIRA
from urllib.parse import urlencodefrom com.connect_jira import ConnJira
from com.connect_mysql import DBmysql
from com.connect_sqllite import DBlite# 配置连接jira
conn = ConnJira()
cookie, jira_server, jira = conn.jira_login()"""
runId: jira库 ao_69e499_testrun 表中 run_id
status: 1-通过,2-失败,3-锁定,4-未执行,5-不适用
通过,失败,锁定,未执行,不适用1,	  2,    3,	4	,5
"""def change_status(run_id, status):url = jira_server + "/rest/synapse/1.0/testRun/updateTestRunStatus"params = {"runId": run_id,"status": status}payload = {}headers = {'Cookie': cookie}full_url = url + '?' + urlencode(params)requests.request("PUT", full_url, headers=headers, data=payload)"""cycle_name 测试周期名称,要求准确issuenum 用例编号返回  需要运行用例的id,也就是说这个run_id + 运行状态,能改变用例状态显示结果
"""def get_run_id(cycle_name, issuenum):# first 根据测试周期名称查询,测试周期id# second 根据用例编号查询,用例id# third 通过 测试周期id,select = "select run_cycle.ID from " \"(select run.ID, run.TC_ID from jira.ao_69e499_testrun run where run.TEST_CYCLE_ID = " \"(select ID from jira.ao_69e499_testcycle cycle where cycle.NAME = %s)" \") as run_cycle join jira.jiraissue issue on run_cycle.TC_ID = issue.ID and issue.issuenum = %s"arg = [cycle_name, issuenum]result = DBmysql().select(select, arg)# run_idreturn str(result[0][0])# pytest获取运行结果,
# '2.10',测试周期参数,测试周期名称,cycle_name 测试周期名称,要求准确
def get_pytest_result(cycle_name):sql_query = "select jira_num,result from pytest_result where cycle_name=?"arg = (cycle_name,)cycle_lots = DBlite().select(sql_query, arg)# print(cycle_lot)
#     遍历所有,去调用发送更新for cycle_lot in cycle_lots:run_id = get_run_id(cycle_name, cycle_lot[0])# 1 - 通过,2 - 失败,3 - 锁定,4 - 未执行,5 - 不适用if cycle_lot[1] == 'passed':status = '1'elif cycle_lot[1] == 'failed':status = '2'else:status = '4'# 去执行更新change_status(run_id, status)# 给一个执行周期号,根据周期好,查询pytest_result表,返回给jira
# cycle_name = '2.10'
# get_pytest_result(cycle_name)# 给我一个周期号,我需要先去查询,这个周期下有哪些用例,去mysql查询, 还需要查询出测试计划的issue号,用于生成测试报告
# 查询到用例后,我需要将用例号跟我的pytest_ready里面的用例号去关联
# 然后根据,ready表里面筛选出来的号,
# 去执行
# 执行之后,更新result表cycle_name字段,记录当前用例被那些周期执行过,根据jira_num将执行结果,返回给jira,

pytest_result表结构

create table pytest_result
(id INTEGER not nullconstraint pytest_result_pkprimary key autoincrement,file_name varchar(100),class_name varchar(50),def_name varchar(60),result varchar(10),result_time TIMESTAMP DEFAULT (datetime('now', 'localtime')),status INT default 0,create_time TIMESTAMP DEFAULT (datetime('now', 'localtime')),duration varchar(30),message TEXT,cycle_id INTEGER,jira_num_list TEXT
);

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com