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

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

作者: 刘晓佳rachel | 来源:发表于2023-03-12 17:48 被阅读0次

前情回顾

在之前的文章里(如《如何通过界面元素准确找到使用得后端接口》《如何“顺藤摸瓜”对web应用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的“行业资讯”新标签页调式模式下的网络面板。通过该面板可以及时跟踪新页面调用接口,以及从接口中捕捉上级页面传入的参数。

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

任务交割

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

转自公众号投稿:https://mp.weixin.qq.com/s/5uLW4C_gLe6vkqXaHBBzVA

相关文章

  • 【Python】接口调用和传参

    本阶段的最后一篇。谢谢简书的所有小伙伴儿。 Python中单个接口调用了解之后,接下来就要对其进行优化、扩展。本次...

  • 今日小结

    指针传参 在函数间指针变量做参传值,只传地址,不附带其他信息。故以数组名为指针变量被函数调用传参后,在调用函数内s...

  • 测试人员如何判断是前端的bug还是后端的bug

    如何定位前端/后端BUG? 通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。 请求接...

  • 初学python,调用固定参,不固定参函数遇到的问题!

    函数调用时的参数传递方式:(调用函数) 传递方式有以下四种: 位置传参 序列传参 关键字传参 字典关键字传参 --...

  • 持续集成下接口自动化测试实践

    目前很多持续集成项目都需要执行接口层的测试,当你了解其基本概念,理解了接口协议、如何传参、测试原理后,无需 掌握程...

  • 函数

    简单函数格式 定义 调用函数 传参函数格式: 传参数 定义 注意 重点 实例(简单) 实例(传参) 实例函数(调用...

  • python 装饰器常见用法

    跟踪调用 用例: 计时调用 用例: 单例 用例: 跟踪对象接口 用例: 管理函数和类 用例: 验证函数参数 用例:...

  • Flutter 路由 Navigator基本使用

    返回到上一个界面 返回到上一个界面 并且传参 push 到界面TestRooterPage并且传参TestRoot...

  • jmeter接口测试-15正则表达式关联

    meter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调用登录口令?一个增删改查的闭环,如何将接口参...

  • 常见函数调用约定

    _cdecl 传参顺序:从右到左 参数栈维护:调用者 __stdcall 传参顺序:从右到左 参数栈维护:被调用者...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/ktkqrdtx.html