自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

saii的专栏

测试,注:不要加博客qq哦,不常用

  • 博客(171)
  • 收藏
  • 关注

原创 前端代码覆盖率问题及总结(二)

更新于2020.06.18不管修改环境还是全局插桩打包出来的文件都没有插桩成功同时在调研新的前端项目接入的时候跟我反馈到:打包test环境后能够正常插桩(这个是现象,因为我们的配置 istanbul的插件只是在test环境下才生效),然后再重新打包pro环境的时候,打包出来的也仍然含有插桩的内容。问题很诡异,于是我这边也重新做了个验证,先打了pro环境的包发现没有插桩,很正常。重新切换到test环境进行打包结果竟然没有插桩。这个就真的很奇怪了。我一度怀疑是package script设置环境变量.

2020-12-17 23:31:44 1264

原创 前端代码覆盖率遇到问题及总结(一)

在讲之前得说下 前端覆盖率的水真的是很深的,其实到目前为止还有很多未解之谜,由于对babel的编译以及ast了解的不是很多。所以确实分析问题起来很困难。前端代码覆盖率方案关于前端代码覆盖率还不了解这块内容的同学们,可以参考下一下几篇文章,这里就不做赘述了。基于 Istanbul 优雅地搭建前端 JS 覆盖率平台前端精准测试探索:覆盖率实时统计工具了解了上述两篇文章以后,你应该对前端的代码覆盖率有一定的了解了。那下来说下具体的方案吧。下面就是我们前端代码覆盖率的具体方案了(PS: 画的很潦草,不.

2020-12-17 23:20:34 2263 1

原创 ReportNg测试报告的定制修改(二)

上一篇文章 ReportNg测试报告的定制修改 中我们能够成功的实现了图片的截图的分栏显示。但是其实ReportNg还存在着几个在使用上不太方便的地方。问题1、Reportng在生成的报告是以字母序对执行的方法进行排序的,而并不是按照执行的顺序 进行排序的。解决:修改 TestResultComparator.java 。class TestResultComparator implements

2016-01-12 13:21:32 3926 2

原创 ReportNg测试报告的定制修改

参考文章: Custom reporting engine with ReportNG 利用ReportNG生成美观易读的测试报告前言前段时间在Testerhome上面看到了测试报告生成系列之——-如何用 testNG 生成测试报告 简单的描述了一些测试报告的生成,接着有人在评论中回复说可以针对reportNg的测试报告做一些定制化的修改,并且还附上了一张截图。这里我们看下修改后的效果

2015-11-09 20:49:12 8297 17

原创 ReportNg+Maven 生成测试报告

前言这段时间看Testerhome的牛人做的一系列的自动化测试,采用的报告很多都是ReportNg的方式,所以自己也抽空想去做一下api的测试,顺便将ReportNg熟悉一下。这次主要是参考了ReportNG 手把手教你弄测试报告这篇文章,但是这篇文章的配置方式并不是Maven的方式,所以就总结一下吧。正文我们这里的话主要就是配置pom.xml文件<?xml version="1.0" encodi

2015-10-21 09:28:13 6148 11

原创 appium结合jenkins进行集成测试(一)

摘要这一段时间经常看到论坛的其他童鞋经常发一些脚本在jenkins上跑的结果,要不就是说每天早上来看昨天晚上脚本跑的结果。看的自己心痒痒的,所以就尝试了下自己之前写的脚本结合jenkins的测试正文好吧 ,说干就干吧。安装好jenkins(这里就不用我说怎么安装了吧,官网下载安装包),安装完以后我们通过命令行运行jenkins吧 java -jar jenkins.war 这里可能会出现端口冲突的情

2015-09-15 19:45:59 13563 11

原创 dubbo流量录制异常(dubbo2.7.3)的问题解决排查

这个就是非常奇怪的问题了,而出现这个问题能想到的原因很大概率都是dubbo版本的情况了,检查后确实发现dubbo版本存在有差异,我们没问题的版本是2.7.18, 但是有问题的dubbo版本是2.7.3。我们自己基于jvm-sandbox-repeater做的流量录制出现了如下的问题, 从这个问题的堆栈信息来看,是在针对dubbo的调用的时候判断这个dubbo的返回是否有异常的时候,报了空指针异常了。这个链路其实都是一个dubbo的接口的调用的整体的流程,所以到这里我们就知道了,就是在。

2023-06-11 00:52:31 632 1

原创 Java jiraClient上传附件不能在浏览器预览的问题分析

最近测试的同学反馈问题说使用平台的报bug上传视频的附件以后,然后在jira上确没有办法通过点击附件进行预览,而需要下载下来才能够查看。但是如果是直接在jira上进行上传附件就不会有这个问题如果说不了解具体原因的,其实就会觉得这个问题非常的有意思,因为就是一个文件上传,为啥还能够导致一个能够在浏览器打开预览,而一个不行呢。带着这个问题,可能我们先了解一个问题就是 **但是以上的内容还是没有解释上传的过程中有什么问题,还是看下 jiraClient的上传文件的实际是什么样的吧。

2023-05-26 21:21:48 836 7

原创 排查jacoco覆盖率对反射问题的影响

本文讨论了在使用jacoco覆盖率工具时,由于其插桩导致的反射问题。通过分析传递参数不合法的错误提示,比较开启和未开启覆盖率两次请求的数据,发现插桩后的请求多出了很多多余的标签,最终发现是由于插桩后的类中多了一个成员变量导致的。解决方法是在判断对象属性是否为空时,跳过合成变量。

2023-05-18 00:20:31 990 2

原创 CSS var()的使用

所以能做的是在节点点击的时候,将ToolTip展示,并且定位到点击的节点上。的方法,所以我们只要利用这个方法,在组件外实现具体的逻辑,确定好点击的坐标,然后将具体的坐标设置到。但是这里我们需要重点解决的一个问题就是如果在css文件里面,动态传入我们所点击的坐标,让。最近在做流量对比的功能,有如下的效果图,当某个节点失败的时候,点击能够弹出对应的提示信息。进行展示, 即点击失败的节点以后,就能够显示相应的错误的信息出来。已经是一个完整的库了,我们没办法,通过包裹里面的节点组件,来进行展示。

2023-05-08 22:34:56 517

原创 grafana 配置横坐标自定义的柱状图

今天同事问我,他想要用grafana看板配置一个 过去一段时间任务的数量统计,但是这个时间是他自定义的并不是需要根据grafana的时间筛选的出来的一个时间范围。

2023-05-08 20:23:54 1850

原创 关于repeater录制的流量子调用的identity中带有~S的情况

前段时间同事问我,我们录制的流量中,尤其是dubbo的子调用显示经常他的末尾会带上一个小尾巴这个是什么意思呢,其实之前我没有太在意这个事情,只是同事这么疑问了,确实激起了好奇心,所以就差了下 到底是什么。可以看到构造函数里面的逻辑其实重点是在构造一个uri, 而这个uri 应该就是我们最开始截图的时候看到的identity的内容了。所以我们来看下具体的逻辑。getExtra() 暂时位置,看着是http的query的字段, 不过看到所有的录制的子调用录制逻辑基本都是null, 我们这里暂时就先忽略了。

2023-04-29 16:32:07 869

原创 关于jvm-sandbox-repeater dubbo回放异常的问题处理

dubbo这块的mock与http等的差异还是比较大的,所以这块的mock其实还是有很多待解决的问题的。

2023-04-22 23:06:58 582

原创 Dubbo泛化调用返回结果对象参数丢失的问题分析

综上,dubbo的回放结果根据序列化的情况就可能出现不一样的情况,我们可能需要根据情况进行接口层级的字段忽略对比才行。

2023-04-20 08:42:56 1058

原创 (九)kityminder外部用例集跳转的任务执行

我们之前讲过主题间的跳转,同时也支持了外部测试集的一个跳转的功能。

2023-02-24 21:09:22 99

原创 (十)、kityminder支持富文本的编辑

前段时间,去试用了下processon 上的脑图功能,发现人家这块确实已经做的好强大了。而且他的节点竟然还可以支持单独某个文本的颜色字体的设置,这个可是连xmind,本身都没有实现的功能的。所以想着学习下人家的实现看看是否能够借鉴到我们的平台上来。

2023-02-24 21:04:57 799

原创 关于一次python服务性能的问题分析定位

今天项目遇到一个比较棘手的问题,我们做的接口平台,提供了一个给用户自己编辑关键字的逻辑,发现对应服务的cpu基本都满了,并且通过扩容的方式也没有好转,也同样被打满。找了测试的同学了解了下,发现他们使用测试计划的形式,定时每隔一分钟跑一次。看了下nginx的情况,请求并发量确实上来了很多,那具体的问题到底是出在哪suoPy-Spy是Python程序的抽样分析器。它允许您可视化查看Python程序在哪些地方花了更多时间,整个监控方式无需重新启动程序或以任何方式修改工程代码。

2023-01-15 23:05:44 316

原创 sandbox启动未加载repeater的问题

是列出对应目录下所有jar包的问题,但是关键是第三个参数是false,其实就是不递归遍历,所以它只会获取到第一层级的目录,所以这就导致了如果目录多一个repeater以后,就没有办法,加载repeater了。这就是问题的根因了,但是为什么多一个目录,就导致没有办法被加载呢,其实这个我们可以尝试去看下sandbox的逻辑。这是个很奇怪的问题,想要分析这个,我们就要确认下通过官方的脚本安装跟源码安装的差异在哪了。但是官方的得到的目录进行的一个层级一个 得到的就是相同的目录了.官方的shell脚本。

2022-12-24 21:11:06 1226

原创 jvm-sandbox-repeater环境搭建

引流回放这个技术现在真的越来越成为了很多公司测试同学必备的一个工具了。当然引流回放的技术有很多,比如下来会提到的jvm-sandbox-repeater。当然你也可以通过日志分析解析的方式去获取到请求返回的信息等。因为刚听过testerhome开发者大会,好几个主题也讨论到了引流回放,而现在大热的引流回放就是 https://github.com/alibaba/jvm-sandbox-repeater引流回放面向的目标人群 - 面向测试开发工程师我们就按照官网的操作步骤来吧。

2022-12-24 21:07:32 1009 2

原创 ddmlib.TimeoutException 的解决措施

从这里看异常的原因就是ddmlib的操作出现超时了,而具体的原因是。这里的timeout 是从外部传过来的,所以我看到 它的调用是。所以我们具体看下那块的逻辑。来缓解这个事情的发生。所以其实我们可以通过。

2022-09-06 20:45:20 458

原创 mysql 批量查询到的id列表,是否有被另外一张表的字段所包含(包含一个即可)

最近重构了下滴滴的用例平台的目录结构,因为那个目录实在维护起来太难受了,一旦新增用例都得去维护一个这个json, 所以还是把这个json拆出来了,结果拆出来以后,遇到了一个数据丢失的问题。一开始没有考虑这个问题时,我的sql查询是这样子的,为了能够知道一个目录下(包含他的子目录)有多少条用例。查询了很久, 才发现,原来 where 条件里面其实是可以用到 中间临时表的字段的。而原本的用例的逻辑是可以关联多个文件夹,所以这里的存储就是可能是多个目录id, 用。我们先看下看下用例的表的设计。...

2022-08-18 21:30:30 1105

原创 antd前端上传获取文件的md5, 并结果form表单提交

以上的描述就有一个比较严重的问题,即前端已经将文件进行了上传了,但是到了后端以后,仍然需要对文件下载。这个就将流程变的复杂了其中增加了很多的不确定行了。对应大文件下载的耗时也是很难受的,所以得想着怎么在前端去计算md5的值的逻辑。(当然也有同学说完全可以文件直接给后天,由后台直接计算MD5不就可以了吗,这个确实是个方式,只是我们这边文件上传之前前端的通用逻辑都是直接对接到三方的cdn)。 尝试百度了下,找到了解决方案。由于前端用的antd的Upload组件,所以我们可以在 中去获取文件的md5值,‘虽然

2022-06-26 15:00:09 983

原创 (八)关于滴滴 AgileTC用例平台的前后端分离部署方案

背景滴滴的AgileTC是个非常优秀的用例平台,但是对于二次开发来说确实有一点不太友好,因为他提供的方案是直接在后端的项目里面打包了前端编译后的代码。这个就导致了,每次前端代码更新了以后还需要编译后提交到后端的项目中去,然后再去打包后端的项目。这个是非常难受的事情的。改造AgileTC的前端是采用UMI进行开发的, 在开发环境下是支持内置的dev-server并且进行代理转发的,但是生产环境下是不支持代理的,通过它本身的产物就是一个js的文件,所以我们是需要有个额外的服务端来做转发的情况,这里最实用的

2022-05-23 23:09:40 932

原创 (七)kityminder主题跳转的任务执行

(七)kityminder主题跳转的任务执行我们在前面有讲过关于如何实现kityminder的节点之间的跳转了,因为节点间的跳转往往使用的场景都是同个用例集下的公共用例的链接。测试人员就可以写一遍用例即可,不用反复去复制粘贴。问题事情往往并不是都跟我们想象的那么美好的。 测试人员在编写好用例之前,会将对应的测试用例转换成任务进行执行,这个时候测试同学就会发现,对应的公共用例只有一条,但是在很多场景下实际上都需要去执行一遍的。所以测试同学提出来,在测试任务执行过程中需要把节点跳转的内容做补充保证每个

2022-05-12 19:53:37 215

原创 (六) kityminder 协同编辑执行用例时,如果做到不相互干扰

有同事在使用用例管理平台的时候反馈到,他跟另外一个同事一起执行某条用例,但是因为用例内容非常多,所以他的做法是仅展开自己需要执行的部分用例,其他的用例都做收起处理。但是这个做法,另外一个同事就不愿意了,因为这个收起展开的操作,也会同步到他的界面上,导致他根本没有办法执行他的用例。idea所以就上面的问题,想着有没有可能类似并没有涉及到内容,或者顺序的变化的操作,可以把这类的操作给过滤掉,而只传递关键数据变更的操作。我们先看下 原本的逻辑是如何的/** * 发送补丁数据 */sendPatc.

2022-04-09 15:39:57 1804

原创 云真机- 关于云真机画面传输后,浏览器切换到其他tab,隔一段时间回来后,画面延迟问题

团队使用的云真机平台之前从minicap切换到了scrcpy的方案后,出现云真机的画面开始传输后,如果此时将浏览器切换到其他tab页面后,然后隔一段时间回来操作会发现,屏幕的画面传输会延迟非常多, 这个延迟跟放置到后台的时间有关。这个问题一开始怀疑是因为使用的库 h264-converter 的问题, 但是从官方的issue中,也没有看到有相关的问题体现,而且这个问题从操作表现的来更像是浏览器的一些形式,类似于将置于后台的video的视频播放给停止了似的。所以实在没找到好的方式,采用了一种相当糟糕的.

2022-04-09 14:50:58 791

原创 adb 禁用手机系统的更新

云真机的平台的android手机设备,有的时候会出现被测试人员误操作而导致手机系统被升级的情况,所以专门去网上了解了下,如何通过adb的方式禁用系统的升级以及升级弹窗华为adb shell pm disable-user com.huawei.android.hwouc adb shell pm enable com.huawei.android.hwoucvivoadb shell pm disable-user com.bbk.updateradb shell pm enable c.

2022-03-31 20:47:15 11399

原创 关于luckysheet公式 TRANSPOSE 的问题

最近一个同学反馈,导入了一个带有公式的excel表以后,公式有部分不能生效,因为我们之前发现导入的Excel后,确实有这样子的问题,所以首先需要确认的是本身在luckysheet上做的公式是否是支持的。结果确认后发现本身也不行,所以问题已经确定是在luckysheet上,而不是excel导入的问题了。分析我们先来简化的看下,到底是什么样的公式是存在问题的,这里面其实涉及到的矩阵的转置。首先我们看上图,上图的逻辑就是把横向的矩阵数据转置成了纵向,所以一旦源矩阵的数据如果发生变化的话,对应转置举证的.

2022-03-19 23:09:01 1976 3

原创 luckysheet问题解决集锦

由于我们采用了滴滴的脑图测试用例的方式,但是后面发现部分业务可能更偏向于系统测试的同学的用例内容在脑图上完全不使用,他们更多的是一些测试结果的一些记录,而不是纯粹的执行结果的通过或者失败的情况。为了考虑都是用同一个平台,所以就想着是否有个支持在线excel表的方式,所以就有了我们的 https://github.com/mengshukeji/Luckysheet问题1:加载luckysheet后,点击图表功能,不可用。**报错Store.createChart官方回复:需要引入图表插件才能使用,.

2022-03-17 22:58:58 9623 32

原创 (五)kityminder节点内容的复制粘贴

前段时间,部门举行了走查。然后有个同事反馈了一个问题说,从我们用例的脑图节点复制的内容以后,如果复制到外部软件里面去,实际的数据是一个json的格式数据,并不是它想要的纯文本的数据。我在听到这个问题的时候,理所应当的回应:我复制内容的时候,当然要把原本的格式数据复制出来呀,至于你复制到外部去当然不是我能够控制的,但是你只有复制到我们的软件里面数据就是正常的呀。以上的逻辑听上去挺对的。但是仔细想想,确实同事反馈的问题挺有道理的。既然有问题,先看看xmind人家是怎么做的不就可以了。在xmind中制作.

2022-03-15 22:44:16 476

原创 (四) kityminder带有图片的子节点带上边框

在给部门同事演示用例平台时,同事反馈,在子节点中存在带有图片时,不带有边框时显示的非常怪异像是页面错乱的样子。如下图:就如上图所示,还是需要有个边框包起来才是合适的解决方案发现关于一些边框的样式以及颜色等等的配置其实都是在theme的目录下配置的,比如说default主题的配置逻辑如下:theme.register(name, {'background': '#3A4144 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAF.

2022-03-15 22:40:27 632

原创 (三)kityMinder如何实现节点间的跳转

本文章系列将会记录在做kityminder二次开发过程中,遇到的问题以及解决方法有同事反馈需要脑图能够支持类似于xmind中的节点中的跳转的功能,但是实际上节点目前支持的链接方式只是支持跳转到外部的链接上去而已,并不能够支持节点间跳转的功能。思考其实想要实现这个功能,并不是很复杂,因为我们想要一个逻辑,只要在待跳转的节点中,定义好需要跳转到节点的id的数据,然后我们需要有个图标响应点击操作,其实整个流程就非常的顺理成章了。定义一个图标关于图标的定义可能需要参考下关于测试结果中图标的定义,我们可

2022-02-07 20:24:34 644

原创 (二)kityMinder如何快速展示所有未执行/未通过的用例

本文章系列将会记录在做kityminder二次开发过程中,遇到的问题以及解决方法有同事反馈在测试用例的任务执行过程中,有的时候会遗漏掉几个用例没有执行,但是找了半天就是找不到在哪里。所以希望能够有一个功能支持快速的过滤(收缩)不需要的用例,保留需要的用例内容。思考这个时候考虑的就是类似于脑图展开的功能,能够快速的展开一级菜单/二级菜单,所以我们需要做的就是当用户点击仅未执行用例时,将其他成功,失败等的用例进行收起,仅展开未执行的用例即可,类似于下图:上图我们就是点击了上面的阻塞,就会将其他节点

2022-01-24 19:57:53 556

原创 kityMinder 针对标签撤销重做时,会出现有undefined的标签出现

本文章系列将会记录在做kityminder二次开发过程中,遇到的问题以及解决方法最近自己在验证脑图编辑器的时候,发现当一个节点中设置多个标签以后,通过撤销进行操作后,界面就会出现一个空白的标签内容,同时在已存在的标签列表中就会出现一个undefined的标签文字。效果图如下:问题分析首先要理清楚这个问题的话,我们需要先理清楚,设置完多个标签以后,通过点击撤销按钮以后,代码逻辑里面发生了什么事情。其实整理的逻辑是这样子的。每次页面发生变化的时候,都会去生成一个差异的patch,放到历史的操

2022-01-08 20:55:07 478

原创 关于遍历服务每次启动生成新的日志文件的逻辑

背景最近遍历服务遇到一个问题, 由于遍历服务是以jar的形式提供给到其他调用方使用的,所以有可能会存在说一个服务中,可能会起来多个进程调用。然后遍历服务的日志使用的是log4j的框架,默认的配置会出现所有的进程的日志都会打到同一个日志文件中,这个就导致了我们在分析问题的时候就非常的被动,因为没有办法很快的分析都对应的某一台设备的上下文的日志了。解决研究了好久以后, 终于找到了解决方法 : log4j2配置文件动态指定日志文件名称, 这篇文章中给提供了思路,可以通过系统环境变量的方式,就可以动态去指

2021-12-04 10:14:58 410

原创 云真机-一键抓包的问题解决

最近我们的云真机平台需要对标岩鼠,新增抓包的功能,所以专门去看了下岩鼠的抓包页面, 发现是通过mitproxy来做iframe嵌套实现的。那我们也可以借用mitproxy来解决我们的问题了。问题1本以为事情会很顺利,所以我们先尝试做demo的时候,本地先启动了一个mitproxy的服务,由于我们是需要有web的页面的, 所以我们的启动命令是:# web-host跟上的是本机的ip地址mitmweb --web-port 10000 --no-web-open-browser -p 20000 -.

2021-10-18 22:00:59 2308 1

原创 云真机各功能的实现历程

一. 远程Shell功能我们一开始实现的shell功能真的可以说是渣渣,通过前端发送对应的命令到服务端,服务端增加相应的 adb -s xxx shell 进行处理,这里就导致了有好几个问题没有上下文的操作概念,也就是说想要进入到某个目录下,然后进行拉取的操作会变得非常的困难。安全问题 用户完成可以在命令后面带上 管道符来进行操作对真正的服务器的内容。其实解决这个问题的方式不难,主要是有没有找到相应的第三方库来替我们来解决这个问题,查找了下相关的开源项目的实现如:ws-scrcpy 以及 a

2021-09-25 22:35:48 952

原创 UnsupportedClassVersionError, 覆盖率平台怎么了

最近覆盖率平台有一个小bug, 所以临时发了一个版本解决了问题。结果上线一天后,陆续有测试同学反馈,打开覆盖率报告的结果都是空的。问题现象打开应用的日志终端, 结果就看到了这样子的一个报错信息。java.util.concurrent.ExecutionException: java.lang.UnsupportedClassVersionError: org/eclipse/core/runtime/IProgressMonitor has been compiled by a more rec.

2021-09-11 11:16:53 209

原创 关于 nodejs 覆盖率的探索

这个研究起源于这个帖子 如何收集 nodejs 服务端的测试覆盖率(Nodejs), 由于自己之前对这块其实是没有研究过的,所以特地花了些时间去了解了下。知识储备虽然说没有做过这块的覆盖率研究,但是对于针对nodejs这块的覆盖率工具之前是有做过一定的了解的,主要是在 nyc 以及 istanbul-middleware (以下简称IM)。关于两者的一些说明可以去看下这两篇文章,里面讲了挺多内容的 探索istanbul/nyc代码覆盖工具的原理 React Native 代码覆盖率获取探索 (二.

2021-08-08 23:46:52 908 1

原创 Appium启动应用时,报错提示adb执行超时的问题解决

日志信息2021-08-02 20:10:48.447 INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal : [Terminal][AndroidDriver] Screen already unlocked, doing nothing2021-08-02 20:10:48.448 INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal

2021-08-03 22:52:41 3197 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除