| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Python高级用法:教你自动提交bug到jira,懒人福利… -> 正文阅读 |
|
[开发测试]Python高级用法:教你自动提交bug到jira,懒人福利… |
背景介绍 作为一个测试同学,提交bug是个绕不过去的坎(请不要杠哈,我真不太相信有测试同学从来未提交过bug)。 但是每次提交bug,少则几项多则几十项,填得有点头大有没有?即使有模板,根据模板再修改,手动填的时候也经常会漏掉一些项有没有? 测试需求分析 此自动化需求主要涉及到python/pytest,且需要jira API文档(下文有jira接口文档链接)。 测试流程 自动化脚本实现 bug模板及提交jira手工步骤 提完bug的bug模板参考下图: 创建bug时,参考下图,可以看见目前统一模板有如下10个必填项: 项目、问题类型、概要、优先级、严重程度、复现概率、bug分类、影响版本、模块、描述。 此处10个必填项对应后面jira接口的相应字段。 jira提交issue接口定义 createissue接口定义,baseurl参考公司网址,此接口的详细url为:/rest/api/2/issue,方法为method。 请求体参考下图的example、update字段,此处非必要,暂时忽略,我们步骤1中说的10个必填项都包含在fields字段中。 一般情况,每个字段可以通过id、name、key3个属性值来设置,但有些时候name属性不一定能找到(例如项目),所以建议首先用id和key,然而id有需要调用其他接口获取,无法直接从界面知道,所以可以首选key。 例如项目的key则为括号里的内容,参考下图,bug管理demo项目的项目key是BUGDEMO, 此点为本人调用其他接口观察到的,具体可以找atlassian官方确认咨询。 经过调用多方接口获得能成功调用的接口字段属性如下图: summary、description此处暂不用特别关注,在后面步骤中我们将会使用捕捉到的内容进行替换。 更多jira接口文档详细参考:https://docs.atlassian.com/software/jira/docs/api/REST/8.5.5/#api/2/issue-createIssue issue相关信息捕捉 版本及环境:面板机此处是调用获取设备状态信息的接口获取相关固件和算法等版本信息(作为setup调用一次即可): 项目:步骤2中已描述,此处不再赘述。 标题(summary)、详细描述(description)、附件的捕捉: (1) 断言时描述详细信息(包括失败字段、预期结果和实际结果),例如下图: (2) 加入hook函数pytest_runtest_make_report监听运行相关信息。 (3)对监听到的相关信息进行处理,title即为捕捉到的运行的测试用例标题,由于函数title为英文,可以再和中文标题一一映射一下。 description为运行时的详细输出,类似于下图: out为调试日志写入到文件,后期作为附件上传,其内容主要是写用例时的日志输出,类似下图: 其中hook函数pytest_runtest_make_report 更多详细内容可参考pytest官方文档(上一节中有附件),日志输出可以参考logger模块或是各人的写日志模块。 通过以上步骤初步生成的bug如图: 注意,上传附件为另外一个接口: 脚本迭代优化 可以不用调用原始的jira接口,python中jira库中有封装常用的jira接口,如jira.create_issue等。 可能遇到的问题 捕捉信息可能需要在写自动化脚本的时候相关操作,都能断言实际和预期等详细信息。 附件中信息也需要自行控制输出。 如果bug系统非jira,可以自行找其bug系统的接口文档或其他提交bug操作。 总结 此方案及示例需要配合自身的自动化用例使用,否则手动操作后也无法自动捕捉其错误信息。? 此方案的重点也是在捕捉错误信息,其他调用jira接口对于一个调包侠来说是基本操作,获取jira模板自行与pm商议即可,此方案如果上线到jenkins通过每日构建每天来run的话可能会出现大量重复的bug(由于开发解决bug没有那么快),多次后面会有文章来讨论如何解决此问题。 最后: 可以在个人V:atstudy-js,可以 免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。 这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你! 敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:46:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |