qnet和clumsy

备注:未经博主允许禁止转载

个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力)

笔记目录学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-优快云博客

个人随笔工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-优快云博客

qnet官方文档:https://cdn.wetest.qq.com/qnet/files/QNET%E7%BD%91%E7%BB%9C%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B72.0.pdf

qnet使用常见问题:https://docs.qq.com/doc/p/98c3acecbf2de9dcf5d21e30cfc98a3f9c0c94a1?dver=2.1.0

目录

一:qnet简单了解

二:软件下载安装及测试

三:参数含义

四:支持的功能

五:clumsy简单了解

六:clumsy下载安装


一:qnet简单了解

QNET是腾讯WeTest开发平台推出的弱网测试工具。

QNET无需ROOT手机,无需连接数据线,以独立app的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务。

QNET还支持TCP/UDP网络协议抓包。

Android/iOS双端支持

Android版支持弱网自动化测试:基于adb命令驱动

二:软件下载安装及测试

QNET下载:介绍页 - 腾讯WeTest,品质成就未来

点击【点击选择测试程序】-【选择测试模版】

测试模版可以自定义

然后点击【开始测试】,第一次会有悬浮窗权限授权,开了就行

也可能有VPN服务的确认框,开了就行

控制悬浮窗:

双击Q按钮可以切回QNET应用

暂停按钮:停止弱网状态恢复正常网络

下拉按钮:切换弱网模板

信息悬浮窗

  • 时延:数据包从发送开始到接收到该数据,所耗费的时间,单位通常是ms(毫秒)。时延反映了网络的速度,越小越好
  • 抖动:指时延的变化,即两个数据包时延的差值。抖动反映了网络的稳定性,越小越好

三:参数含义

  • 上下行延时(Delay)

  • 上下行延时抖动(Jitter)

  • 上下行带宽(Bandwidth)

  • 上下行随机丢包(Random Packet Loss)

  • 上下行连续丢包(Continuous Packet Loss)

  • TCP/UDP协议控制(Protocol)

四:支持的功能

(1)网络抓包

导出为Pcap文件,可以在PC上用Wireshark工具打开分析,目前支持TCP, UDP, DNS协议

在设置里面打开开关

(2)连续丢包可以实现周期性断网的弱网场景,常用在测试游戏流畅性,验证游戏对网络波动的支持程度。

五:clumsy简单了解

clumsy(/ˈklʌmzi/),能在 Windows 下人工造成不稳定的网络状况,方便调试应用程序在极端网络状况下的表现。

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送

优点:

  • 系统级别的网络控制,可以适用于命令行,图形界面等任何 Windows 应用程序。
  • 不仅仅只支持 HTTP,任何 TCP, UDP 的网络连接都可以被处理。
  • "热插拔",你的程序可以一直运行,而 clumsy 可以随时开启和关闭。

工作机制:

  • clumsy 首先根据用户选择的 filter 来拦截指定的网络数据。

(可以设定你感兴趣的协议(tcp/udp),端口号,是接收还是发出的端口)

基本功能:

当被 filter 的网络数据包被拦截后,可以选择 clumsy 提供的功能来有目的性的调整网络情况:

  1. 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。
  2. 掉包(Drop),随机丢弃一些数据。
  3. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。
  4. 重发(Duplicate),随机复制一些数据并与其本身一同发送。
  5. 乱序(Out of order),打乱数据包发送的顺序。
  6. 篡改(Tamper),随机修改小部分的包裹内容。

六:clumsy下载安装

下载参考:

clumsy, 在 Windows Vista / Windows 7 下模拟劣化网络环境(网络延迟,掉包,重发)的小工具。clumsy, 在 Windows Vista / Windows 7 下模拟劣化网络环境(网络延迟,掉包,重发)的小工具。

分为过滤器、预置过滤器、功能设置

outbound:是否为输出数据包

inbound:是否为输入数据包

### QNET 弱网工具概述 QNET 是一款由腾讯 WeTest 平台推出的弱网测试工具,旨在帮助开发者测试人员快速搭建并模拟各种弱网络环境。它具有无需额外硬件支持、操作简便以及功能全面的特点[^3]。 #### 工具特点 - **便捷性**:仅需在智能手机上安装 QNET 应用程序即可完成弱网环境的搭建,无需依赖 PC 或服务器[^1]。 - **全球化覆盖**:提供国内各省份及海外 47 个国家地区的真实运营商网络数据,适用于多种国际化需求的应用测试[^2]。 - **真实场景还原**:内置超过 20 种常见的弱网络场景(如地铁、电梯等),能够有效验证应用在网络条件较差情况下的表现。 - **数据分析能力**:具备强大的抓包功能,可捕获 TCP/UDP/ICMP 协议的数据包,并将其保存为 pcap 文件格式以便后续通过 Wireshark 等工具深入分析。 - **自动化支持**:兼容 ADB 命令驱动机制,允许用户编写脚本来执行自动化的弱网测试流程,从而显著提升工作效率并降低人工干预程度[^2]。 #### 下载链接 官方下载页面位于 [WeTest 官方网站](https://wetest.qq.com/product/qnet)[^4]。访问此站点后按照提示注册账户并登录即可获取最新版本的应用客户端及相关文档资料。 --- ### 示例代码展示如何利用ADB控制QNET启动特定参数设置 如果希望集成到CI/CD流水线当中实现无人值守式的持续集成,则可以通过如下Python脚本调用相应的Shell指令来操控已安装好的QNET实例: ```python import os import subprocess def set_qnet_params(device_id, delay_ms=50, loss_rate_percent=10): """ 设置指定设备上的QNET延迟与丢包率 参数: device_id (str): 设备序列号 delay_ms (int): 模拟延时毫秒数,默认值为50ms loss_rate_percent (float): 丢失百分比,默认值为10% 返回: str: 执行结果字符串描述 """ command = f'adb -s {device_id} shell am broadcast -a com.tencent.wetest.qnet.SET_PARAMS --es params "{{\\"delay\\":{delay_ms}, \\"lossRate\\":{loss_rate_percent}}}"' result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) if result.returncode != 0: return f"Error occurred while setting parameters on device {device_id}: {result.stderr}" return f"Successfully applied network conditions to device {device_id}" if __name__ == "__main__": target_device = "your_device_serial_here" outcome_message = set_qnet_params(target_device) print(outcome_message) ``` 上述脚本展示了怎样运用 `subprocess` 模块发送自定义广播消息至目标Android装置中的QNET组件以调整其行为模式。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小chen小陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值