测出Bug后如何跟踪界面弹窗的接口调用和传参?

我们在学习到这类知识后获得了简单的调试和分析能力,已经能够独立分析一些故障原因。但是问题总是层出不穷的,习得的方法并不能一劳永逸……

故事继续

有这么一个场景:当你点击界面某个按钮或者某个图标,开启了一个新标签页,但是,你发现新标签页的某些选项设置与需求不一致。比如:你期望新标签页上的搜索框,设定的搜索时间是上级页面选择的7天,但新标签页上搜索框搜索时间范围设定却是1天。

这个时候,你反复尝试、清除浏览器缓存、仔细观察每个步骤,避免人为因素导致测试结果偏差。但无数次尝试后你断定:的确是个bug。

你想直接告诉前端开发同事:xxx搜索框传入搜索时间范围不正确。但你按捺住了冲动,你想搜集更多的证据证明这的确是前端的bug。毕竟,有理有据,说服人都能理直气壮。

可是,弹出新标签页不同于同一页面变化,要怎么跟踪从上级页面传入下级页面的参数呢?或者说,怎么能够跟踪新页面的接口调用呢?

主线任务

如何跟踪弹出页面的接口调用以及上级页面传入的参数呢?光说不练假把式。还是以51testing网站为例进行讲解~

如下图所示为51testing界面,点击“最新更新”栏目下的“行业资讯”,会弹出新标签页打开链接,访问详细内容。

图1 51testing首页

我们首先来解决我们本次讨论的核心问题:如何跟踪弹窗开启的新标签页调用的后端接口?

这个问题,可能有人会回答:在新标签页开启浏览器调试模式,切换到“网络”,然后刷新页面。

的确,不能否认这是一个跟踪新标签页调用后端接口的方法。但是,请大家想想,刷新页面查看接口调用和上级页面触发调用接口是完全一样的吗?!

至少有一种情况不一样。如果新标签页需要接受上级页面传参,且刷新页面该参数值会恢复默认值的情况。一旦使用刷新页面跟踪接口调用,我们有可能会失去上级页面传入的参数,从而无法真正知晓是否上级页面传入参数有误。

那么,要怎么做呢?你需要掌握以下几个浏览器调试模式小技巧。

1)勾选“网络”>“保留日志”

打开浏览器调试模式,切换到“网络”,勾选“保留日志”。这个时候在上级页面点击图表或按钮跳转时,即可看到上级页面调用的接口。

如下图所示,点击“最新更新”栏目下的“行业资讯”,弹出新标签页时,在上级页面调试模式可看到事件触发时调用的接口http://m6816.talk99.cn/monitor/s?c=e&i=20001818&v=65a28119f8eb5cd040470977326503e3&p=882593729&x=1667542852272,及相应的参数。

图2 51testing上级页面弹出新标签页事件触发时调用的接口

2)勾选“控制台”>“保留日志”

众所周知,调试模式的“网络“面板主要是跟踪接口调用。除了上述1)所述的方法,我们还可以通过勾选”控制台“>”保留日志“,跟踪弹出窗口新标签页开启时,上级页面的前端日志。设置方式如下图所示。

图3 ”控制台“>”保留日志“设置

由于本案例中,“控制台“未输出相关日志,因此暂不截图演示。

3)开启“为弹式窗口自动打开DevTools”

我们1)、2)讲的方法都是捕捉上级页面事件触发时的日志输出,那么对于新页面我们怎么在事件触发时第一时间捕捉发起的接口调用和前端输出呢?!

了解一下“为弹式窗口自动打开DevTools“设置?!这个设置简直不要太好用。

打开浏览器调试窗口,点击右上方“设置“图标,勾选“为弹式窗口自动打开DevTools“设置即可。

图4 “为弹式窗口自动打开DevTools“设置

完成“为弹式窗口自动打开DevTools“设置后,在上级页面触发弹出窗口开启新标签页时,新标签页会自动打开浏览器调试模式。

如下图所示,51testing的“行业资讯”新标签页调式模式下的网络面板。通过该面板可以及时跟踪新页面调用接口,以及从接口中捕捉上级页面传入的参数。

图5

51testing的“行业资讯”新标签页调式模式下的网络面板

任务交割

通过本文的叙述和简单案例的讲解,我想大家对“如何跟踪界面弹窗的接口调用和传参“有了初步的认识,且掌握了几个小技巧。希望这些小技巧能帮助你更好地完成测试工作。记住:我们的目标是——没有蛀牙测试工作更专业!

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需求指的是对于软件或产品功能、性能、界面等方面的具体要求或期望,包括用户需求和系统需求两种。用户需求是指最终用户对产品的期望和要求,而系统需求是指开发团队根据用户需求提炼出来的功能、性能等方面的具体规格。 测试用例是为了验证软件或产品功能是否按照需求进行开发而编写的测试案例或测试脚本。测试用例包括对各种输入条件的验证和对应输出结果的判断,以及各种功能和场景下的验证操作,请在输入和输出符合预期的情况下进行。 bug指的是软件或产品中的错误、缺陷或故障。当软件无法按照预期功能运行或者功能不符合需求时,就可能出现bug。软件开发过程中,通过测试发现的bug会被记录、报告和修复。 软件开发模型是指按照一定规范和流程进行软件开发的方式,常见的有瀑布模型、迭代模型、敏捷模型等。瀑布模型是一种统的开发流程,按照需求分析、设计、编码、测试和维护的顺序进行。迭代模型是一种重复循环的开发方式,每个迭代周期都会完成需求分析、设计、编码、测试等步骤。敏捷模型是一种强调合作和迭代开发的方法,通过不断反馈和调整来满足用户需求。 测试模型是指按照一定规范和流程进行软件测试的方式,常见的有瀑布测试模型、V模型、敏捷测试模型等。瀑布测试模型是按照瀑布模型进行测试,将需求分析阶段的测试结果作为后续测试的基础。V模型则是在开发的各个阶段都有相应的测试活动,测试与开发对应。敏捷测试模型则是在敏捷开发模式下进行测试,强调即时反馈和快速响应的特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值