资讯专栏INFORMATION COLUMN

禅道项目管理软件bug过滤脚本

沈俭 / 1731人阅读

摘要:新公司使用禅道作管理系统。每次产品上线的时候,所有的测试人员测试出之就就提在禅道上。避免本页跳转导致脚本失效。并给它绑定事件。很多浏览器插件,其实也是在别人的网站上运行自己的脚本实现一些操作。

新公司使用禅道作bug管理系统。每次产品上线的时候,所有的测试人员测试出bug之就就提在禅道上。
由于我们公司目前的测试只有一个,就把很多产品拉来凑数。他们分不清bug和需求。所以往往出现的情况是一大屏的bug。但实际上能改的没几个。并且有很多bug是后端的。
要从那么多bug中找出来自己能改的,每次都要从那么多bug中来看,往往看得眼都花了,也没找出来几个有效bug,偏偏又不能处理掉,因为其他人可能要看。

于是决定花点时间写个脚本来帮我处理一下那些干扰信息。把那些我不需要看到的条目隐藏起来。
要在bug列表table每一行加一个隐藏按钮。点击的话会隐藏掉该行。并且把该行的checkbox的value值记录到localStorage中。

在console控制台运行脚本,会做这几件事:
1.给table所有的a标签加属性target="_blank",这样就会到新页面打开bug详情。避免本页跳转导致脚本失效。
2.把所有tr行中的checkbox的值放到该tr上。data-id属性中。方便后续操作。
3.每行加一个隐藏按钮。并给它绑定事件。点击按钮隐藏此行。把最后一个td加长。
4.把localStorage保存的所有值的行隐藏起来。

为了避免翻页引起页面跳转。先要把每一页的数量调大一些。这样操作就在同一个页面上,不需要多次运行脚本了。
原来的bug可能有这么多:

运行脚本之后的效果(很多条干扰信息已经被我隐藏掉了):

可以看到每一行的右边都加了一个隐藏按钮。我们看过bug之后觉得是自己不用理会的。就可以点击隐藏。
并且下次打开页面再次运行脚本,你之前隐藏过的就会自动隐藏起来。
这样就能很大程度上减少干扰信息了。

另外,这个代码通用性也是比较强的。换一个系统,要实现类似的功能只需要稍作改动就可以。

下面是代码:

function CD(){}

CD.prototype = {
    init:function(){
        this.open();
        this.hideItems();
        this.bindEvent();
    },
    open:function(){
        //所有a标签新标签打开
        $("td a").attr("target","_blank");
        //给每一行加一个我们的按钮。
        $(".s-hide").remove();
        $("tr.text-center td:last-child").append("隐藏");
        $("tr th:last").width(170);
        //给tr加上id。方便操作
        $("tr").each(function(index, el) {
            $(this).attr("data-id",$(this).find("input:checkbox").val());
        });
    },
    bindEvent:function(){        
        //点击隐藏。
        $("body").on("click", ".s-hide", function(event) {
            
            var id = $(this).parents("tr").find("input:checkbox").val();
            var hideStr = localStorage.hideStr || "";
            var hideArr = hideStr.split("-");
            hideArr.push(id);
            localStorage.hideStr = hideArr.join("-");
            $(this).parents("tr").hide();
        });
    },
    //初始化的时候隐藏我们隐藏过的。
    hideItems:function(){
        var hideStr = localStorage.hideStr || "";
        var hideArr = hideStr.split("-");
        var len = hideArr.length;
        for (var i = 0; i < len; i++) {
            $("tr[data-id="+hideArr[i]+"]").hide();
        }
    },
    //显示隐藏的。
    show:function(){
        localStorage.hideStr = "";
        $("tr").show();
    }
}
//调用
var cd = new CD;
cd.init();

// 显示全部请手动调用  cd.show();

嗯,JavaScript能做的事实在太多。
面对别人的网站,我们也可以大有可为。
很多浏览器插件,其实也是在别人的网站上运行自己的脚本实现 一些操作。比如拦截广告。抢月饼。。。
作为一个前端程序员来讲,顺手写几行脚本提高一点工作效率也是不错的。

github:https://github.com/liusaint/J...
注:本文同步发表在我的CSDN博客上。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88032.html

相关文章

  • ❤️熬夜7天肝出5万字【禅道/缺陷报告/测试报告/接口测试及用例/Fildder】超详细总结❤️

    目录 一、禅道 一、测试工具背景 二、测试管理工具 三、测试工具介绍 四、禅道介绍 五、禅道操作 7. 创建发布 8. 测试团队 二、缺陷报告 三、测试报告 一、概要 二、测试过程 三、缺陷分析 四、测试总结 四、接口测试以及用例编写 五、Fiddler 好文推荐 一、禅道 一、测试工具背景 当测试环境搭建完成后,测试人员将在自己搭建的环境上执行测试用例,开展测试工作。测试人员在执行测试用例的过...

    oujie 评论0 收藏0
  • 禅道软件的使用

    摘要:引言禅道的使用在其手册中有比较详细的介绍,大家可以参考其中还包括介绍的视频。应用范围禅道主要应用于软件项目的管理。软件完整使用其支持的流程主要按照敏捷开发的流程支持的。扩展机制,几乎可以对禅道的任何地方进行扩展。 ...

    W_BinaryTree 评论0 收藏0
  • 软件测试需要学什么?50W+的测试工程师需要掌握哪些技能?

    摘要:协议学习常见请求方法学习和学习接口的基本概念接口文档认识接口测试用例编写接口测试工具使用软件测试自动化进阶性能测试性能测试的技术要求很高,不仅仅要对性能测试的指标测试分类测试设计有很深刻的理解。 ...

    wushuiyong 评论0 收藏0
  • 一个无经验的大学毕业生,可以转行做软件测试吗?

    摘要:作为一个基础的还会占有一些优势的,因为你之前没有过相关的经验,那么你在领域可以说是一张白纸。不尝试怎么知道自己能不能行呢要相信自己,零基础的也是可以做软件测试工程师的。 有IT的背景人可能在第一阶段基础的学习中更加快速,但是接下来关于测试的阶段,有无基础并无太大区别。 接触过IT的人,比如编...

    mating 评论0 收藏0

发表评论

0条评论

沈俭

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<