自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1920)
  • 收藏
  • 关注

原创 Jmeter性能实战之分布式压测

JMeter分布式测试通过master-slave架构实现,master负责分发脚本并收集结果,slave执行测试任务。配置时需确保master和slave在同一局域网,安装相同版本的JMeter和JDK,并修改JMeter.properties文件(需设置server.rmi.ssl.disable=true)。测试前需先启动JMeter-server,再通过GUI远程执行脚本。本文还提供了软件测试学习资源的获取方式,帮助测试人员快速上手JMeter分布式测试。

2025-11-24 19:21:07 45

原创 接口测试vs功能测试

本文探讨接口测试与功能测试的区别与联系。第一部分分析两者异同:接口测试侧重服务器逻辑验证,功能测试关注页面展示与集成;两者在基础功能、边界分析和性能测试方面有重合,但测试重点不同。第二部分阐述接口测试的必要性:能有效应对系统复杂度提升,实现低成本自动化持续集成,确保前后端分离架构的安全性。文章还提出了接口测试持续集成的优化方向和质量评估标准,强调接口测试对提升产品质量的重要作用。

2025-11-24 15:39:38 270

原创 使用seldom编写http接口用例

本文介绍了在接口测试中使用seldom框架的@file_data()参数化方法。通过四种不同数据结构展示了参数化的灵活应用:1)二维列表处理简单参数;2)列表嵌套字典提升可读性;3)拆分请求/响应参数的复杂结构;4)JSON文件存储完整测试用例。文章强调虽然支持JSON用例但不推荐,建议通过代码方式实现测试以兼顾灵活性和易用性。最后提供软件测试学习资源获取方式,帮助测试人员提升技能。

2025-11-22 19:06:36 270

原创 Jmeter参数化 —— 循环断言多方法

摘要:本文介绍了JMeter接口测试中的关键配置方法。主要包括:1)CSV参数化需注意循环次数匹配;2)计数器配置要点(初始值、递增、格式等);3)断言内容需设置为变量才能循环取值;4)使用JSON提取器和响应断言进行结果验证;5)通过查看结果树分析断言失败原因。文章还分享了软件测试学习资源获取方式,帮助测试人员提高效率。全文重点讲解了JMeter测试中的循环控制和断言实现技巧。

2025-11-22 14:08:47 246 1

原创 软件测试 —— 冒烟测试(Smoke Test,ST)

【摘要】冒烟测试是对新版本基本功能进行快速验证的测试方法,源于电路板测试概念,由微软引入软件开发流程。其核心目的是通过1小时内的快速验证(覆盖40-50%主流程用例,通过率80%),判断版本是否具备进一步测试资格,能有效降低后期修复成本。测试特点包括:聚焦主功能验证、作为版本准入开关而非测试阶段、可手动/自动化执行(稳定系统推荐自动化)。与回归测试不同,冒烟测试针对新版本致命性bug检测,而回归测试侧重修改后的功能验证。实施时需优先选择重要功能(占30%)、主流程及关键数据案例,由测试架构师、开发等多角色协

2025-11-21 19:11:43 906

原创 【JMeter入门】—— JMeter介绍

JMeter是Apache开发的基于Java的开源性能测试工具,主要用于Web应用、数据库、FTP服务器等压力测试。它具有开源免费、跨平台、多线程、可视化结果等优势,支持HTTP、JDBC等多种协议。但JMeter无法测试JS和UI,需配合Selenium使用。相比商业软件LoadRunner,JMeter安装简单、易用性强但分析能力较弱。该工具适合进行接口测试、性能测试等,是软件测试领域的重要工具之一。

2025-11-21 13:59:39 603

原创 几个Web自动化测试框架的比较:Cypress、Selenium和Playwright

本文对比分析了三种主流Web自动化测试框架:Cypress、Selenium和Playwright。Cypress优势在于开发友好性和调试功能,但缺乏并行测试支持;Selenium拥有成熟的生态系统和跨浏览器兼容性,但配置复杂且执行较慢;Playwright以性能优化和并行测试见长,但社区支持相对不足。文章指出框架选择应基于项目需求、团队专长和测试要求,并提供了相关学习资源获取方式。三种框架各有所长,开发者需权衡利弊做出最佳选择。

2025-11-20 19:21:32 457

原创 10 款超强大性能测试工具,你用过哪几款呢?

本文介绍了性能测试的概念、必要性、优势及主要类型,并推荐了十大性能测试工具。性能测试通过评估速度、可扩展性和稳定性来优化软件性能,主要类型包括负载测试、压力测试等。推荐的十大工具各具特色:LoadNinja支持无脚本测试,JMeter是开源首选,WebLOAD适合企业级测试,LoadUIPro提供云测试,LoadView模拟真实用户,NeoLoad适合敏捷开发,LoadRunner支持大规模测试,SilkPerformer适合多协议环境,AppLoader专注于业务流程测试,SmartMeter.io是JM

2025-11-20 14:47:05 982

原创 如何使用Fiddler对手机进行弱网测试?(干货教程)

摘要:本文介绍如何使用Fiddler连接手机并配置弱网测试。首先设置Fiddler监听端口8888,让手机与电脑同局域网并配置代理;然后在Customize Rules中修改上行(request-trickle-delay)和下行(response-trickle-delay)延迟参数模拟不同网络环境(如2G/3G)。通过开启/关闭Simulate Modem Speeds观察请求时间差异验证配置效果,还提供了常见网络制式的延迟计算公式。文末附有软件测试学习资源获取方式。(149字)

2025-11-19 19:11:44 767

原创 Python 自动化测试框架unittest与pytest的区别

Python测试框架对比:unittest与pytest的差异分析 本文对比了Python中两种主流测试框架unittest和pytest的主要区别,重点分析了用例编写规则和前后置处理的不同。unittest作为基础框架,用例格式复杂但二次开发方便;pytest则更加简洁灵活,兼容unittest用例且插件丰富。文中通过实例演示了两者在前后置处理方面的差异:unittest使用setUp/tearDown等方法,而pytest提供更灵活的fixture机制和模块级、类级等多层次的前后置控制。此外,pytes

2025-11-19 14:12:41 977

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

【摘要】一位软件测试工程师分享职场遭遇:先后经历小厂裁员、新公司降薪,在跳槽互联网公司面试时因HTTP转HTTPS测试方案问题失利。文章总结了软件测试岗位常见的16个技术栈面试知识点,包括测试理论、Linux、MySQL、Web测试等核心内容,并提供了近200页的面试宝典资源,涵盖基础知识、企业真题和实用技巧,旨在帮助求职者高效备战测试岗位面试。

2025-11-18 20:15:37 951

原创 【Python版】手把手带你如何进行Mock测试

本文介绍了mock测试的概念及应用场景。mock是通过模拟真实对象行为来测试代码功能的测试方法,适用于真实环境难以搭建或接口未开发完成等情况。文章详细说明了代码mock的实现方式,包括使用Python的mock库模拟接口返回数据,并以注册接口为例演示了具体操作步骤。此外,还介绍了服务mock的两种实现方法:使用mockoon工具搭建模拟服务器和通过Flask框架编写自定义接口服务。mock测试能有效提高测试效率,尤其在开发未完成阶段具有重要意义。文章最后提供了软件测试学习资源的获取方式。

2025-11-18 19:14:29 742

原创 接口测试之文件上传

本文介绍了两种文件上传接口测试方法:1)使用Postman工具,通过选择文件参数并发送请求完成测试;2)使用Python+Requests编写脚本,通过files参数传入文件路径实现上传。文中详细说明了两种方法的操作步骤,包括接口信息、参数设置和代码示例,并展示了成功上传的验证结果。最后作者分享了软件测试学习资源,为测试人员提供实用参考。

2025-11-18 14:16:34 321

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

文章摘要:本文讲述了一位软件测试工程师遭遇降薪后求职的经历,因不熟悉HTTPS测试方案而面试失败。随后总结了一份涵盖16个技术栈的软件测试面试宝典,包含测试理论、Linux、MySQL、Python等核心知识点,列举了常见面试题如测试步骤、Linux命令、Python算法题等。最后提到完整文档近200页,旨在帮助求职者高效准备面试,提升通过率,但仅展示了部分内容。(149字)

2025-11-17 20:00:39 651

原创 性能测试监控平台:InfluxDB+Grafana+Jmeter

本文介绍了基于InfluxDB+Telegraf+Grafana+Jmeter搭建性能测试监控平台的方法。针对JMeter在Windows和Linux环境下展示效果不佳的问题,该方案实现了测试结果的实时可视化监控。文章详细说明了各组件安装步骤(Jmeter、InfluxDB、Grafana等),包括InfluxDB数据库创建策略、Grafana账号权限配置等关键操作。最后介绍了测试实践流程,并提示后续会集成nmon和Prometheus等工具。该方案可提高性能测试效率,帮助团队更好地掌握系统性能表现。

2025-11-17 19:07:22 439

原创 mock技术在测试中的应用

摘要: Mock技术是一种在软件测试中模拟真实对象的虚拟技术,主要用于解决不易构造或获取的测试对象问题。它适用于开发与测试场景,如前后端联调时模拟后端数据、测试新需求或第三方接口等。Mock实现方式包括Mock数据(如EasyMock)和Mock服务(如Moco框架)。Moco框架支持HTTP/HTTPS协议,配置简单,无需环境搭建,通过JSON文件定义请求与响应,可模拟重定向、JSON返回等复杂场景。其热更新特性修改后即时生效,助力敏捷测试与持续集成。技术核心在于提前验证接口逻辑,提升测试效率。

2025-11-17 14:29:06 550

原创 3 步走,快速上手 API 接口测试

摘要:API接口测试是通过模拟客户端请求、接收服务端响应并验证结果的过程,依据接口清单执行。测试需要使用工具模拟请求和验证数据,常用工具包括fiddler、Postman和Jmeter。文章推荐开源工具Postcat演示测试流程,涵盖状态码、响应体和响应时间检查,支持多种协议和团队协作功能。该工具提供测试历史回溯、插件扩展等功能,适合国人使用,目前已更新至v0.3.0版本。文末还提供软件测试学习资源获取方式,帮助测试人员提升技能。

2025-11-15 19:10:20 881

原创 利用Jmeter做接口测试(功能测试)全流程分析

摘要:本文介绍了使用JMeter进行接口功能测试的基本流程。首先强调要从API文档提取接口清单,重点关注URL、方法、参数和返回值三要素。测试过程分为单接口测试和关联接口测试两个层次,重点讲解了单接口测试的步骤:搭建测试框架、设计测试用例、配置CSV数据文件、引用参数并执行测试。文章指出掌握测试原理和逻辑的重要性,建议通过模块化学习逐步掌握这项技能。整个测试流程强调从文档分析到实际测试执行的系统性方法。

2025-11-15 15:10:44 412

原创 使用Robot Framework实现多平台自动化测试

摘要: 通过整合RobotFramework、Jenkins、Appium等开源技术,构建了通用自动化测试持续集成管理平台。该平台采用分层架构,支持APP、Web、桌面应用、接口及数据库测试,实现用例设计、执行、报告全流程管理。创新点包括灵活扩展、端到端管理及数据驱动测试,显著提升测试效率与质量。以东莞证券为例,自动化率超65%,用例规模增长8倍,迭代周期缩短50%,年节省150人天。平台为券商自动化测试提供了高效解决方案,具有广泛适用性和推广价值。

2025-11-14 19:29:49 663

原创 Jmeter常用功能-参数化介绍

本文介绍JMeter中实现参数化的两种方法:函数助手和CSV Data Set Config。通过参数化可以模拟多用户登录,避免重复账号冲突。文章详细说明了准备工作,包括录制脚本和准备参数数据文件(格式要求UTF-8编码,逗号分隔)。第一种方法使用函数助手生成参数化函数并应用到请求中;第二种方法通过CSV Data Set Config配置元件实现,重点解释了Filename、FileEncoding等参数的设置,以及RecycleonEOF和StopthreadonEOF选项的关联关系。最后作者分享了软件

2025-11-14 14:07:57 897

原创 必备 | SQL语句的封装操作大全

摘要 本文介绍了数据库访问对象(DAO)的封装方法及其优势。主要内容包括:1)DAO的作用是为特定表提供增删改查操作,可避免重复编写SQL和JDBC代码;2)实体类与表结构对应,用于存储单行数据;3)通过ManagerDao类示例展示了添加、删除、更新和查询操作的封装实现;4)说明了JDBC工具类的使用及资源释放的重要性。DAO封装能提高代码复用性,减少冗余,便于团队协作开发。文章最后还提供了软件测试学习资源的获取方式。

2025-11-13 19:42:43 533

原创 性能测试浅谈

本文分析了性能测试的核心要素,指出传统测试主要关注后端处理能力,但实际用户体验还受网络传输和客户端处理时间影响。文章通过写信和买烤鸭的比喻说明真实场景中并发请求难以完全模拟,建议减少请求数量和大小来优化前端性能。针对前后端分离架构,提出应将测试划分为后端接口性能和前端渲染性能,并强调移动端还需关注硬件资源消耗。最后提醒性能测试要结合实际场景,提供学习资源帮助测试人员提升技能。

2025-11-13 15:25:16 593

原创 数据库压力测试方法小结

本文介绍了Web应用中数据库性能压测的重要性与方法。文章指出,数据库往往是系统瓶颈所在,因其水平扩展难度远高于其他组件。详细讲解了使用sysbench工具进行MySQL压测的过程:包括安装配置、构造测试数据、执行读写测试(综合、只读、只写三种模式)以及结果分析指标(TPS/QPS、响应时间、并发量等)。通过模拟百万级数据和多线程并发访问,可全面评估数据库性能。最后强调了对测试结果进行可视化处理的必要性,并提供了相关学习资源获取方式。

2025-11-12 19:21:00 899

原创 Charles 工具如何做断点测试?

本文介绍了断点测试的基本概念及其在接口测试中的应用,详细说明了如何使用Charles工具进行断点测试的操作步骤。断点测试通过在程序特定位置设置断点,可以修改请求和响应数据,帮助快速定位前端或后端问题。文章具体演示了Charles工具中断点功能的开启、接口断点的配置、请求和响应消息的编辑修改等操作流程,并展示了修改参数后的实际效果验证。该方法为测试人员提供了一种高效的接口测试手段,能够方便地构造测试数据并验证不同场景。

2025-11-12 15:00:55 600

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

软件测试面试常见技术问题汇总。从测试理论、Linux命令到MySQL优化,从Web/API测试到性能分析,涵盖16个技术栈的200页面试宝典。包含Python编程、Selenium自动化、计算机网络等高频考点,以及HR常问的职业规划问题。为求职者提供全面的面试复习资料,节省搜索时间,助力拿下心仪offer。

2025-11-11 20:01:15 753

原创 这可能是最简单的Page Object库

摘要:PageObject设计模式是Web自动化测试中常用的方法,旨在将元素定位与测试逻辑分离。文章演示了传统PageObject实现方式(定义BasePage基类和页面元素定位),并推荐使用poium库简化开发(仅需4行代码即可定义页面元素)。该库支持CSS/XPath定位、超时设置和元素组定位,增强了测试稳定性。原项目已停止维护,作者在其基础上增加了元素等待功能,可通过pip安装。文章最后分享了软件测试学习资源,帮助开发者提高效率。GitHub地址:SeldomQA/poium。

2025-11-11 19:13:34 370

原创 pytest 参数化测试用例构建

本文介绍了Pytest参数化测试的实现方法,重点讲解了@pytest.mark.parametrize装饰器的使用。通过将测试数据组织为参数列表,可实现多组数据自动执行相同测试逻辑。文中说明了基本用法、多个装饰器组合实现笛卡尔积测试,以及结合fixture使用indirect=True参数的场景。还演示了如何将参数同时传递给fixture和测试用例,展示了参数化测试在提高测试覆盖率和减少重复代码方面的优势,适用于各种需要多数据组合验证的测试场景。

2025-11-11 14:09:56 945

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

这篇职场分享讲述了一个软件测试工程师的求职困境:因公司取消加班费且降薪40%被迫跳槽,却在互联网公司面试中被一道HTTPS测试方案题难倒。文章随后总结了软件测试岗位的16个核心面试技术栈,包括测试理论、Linux、MySQL、Web/API/App测试、Python编程、性能测试等,详细列举了各技术领域的典型面试问题,如Linux命令操作、MySQL优化、Python算法题、HTTP/HTTPS协议测试等,并透露提供了一套近200页的软件测试面试宝典,涵盖从技术到人力资源的全方位考核要点,旨在帮助求职者系统

2025-11-10 20:00:45 879

原创 接口测试之Fiddler弱网测试

摘要:本文介绍使用Fiddler工具进行APP弱网测试的方法。通过配置Fiddler模拟调制解调器速度,设置上下行延迟时间来实现网络限速效果。具体步骤包括:安装Fiddler、配置端口号和手机代理、修改规则脚本调整网速参数(如50KB/s需设置20ms延迟)。测试时可分析页面加载时间和资源请求耗时,找出性能瓶颈。该方法能有效测试APP在低速网络下的表现,是测试人员需要掌握的重要技能。

2025-11-10 19:09:51 947

原创 APP自动化Android之属性获取与断言

本文介绍了UI自动化测试中断言的重要性及两种断言方法。常规断言使用Python的assert语句进行条件验证,如比较数值、检查包含关系和布尔值判定。Hamcrest框架提供了更灵活的断言方式,通过assert_that结合各种匹配器实现字符串比较、数值范围验证等功能,并以雪球APP股票价格验证为例,演示了实际应用场景。文章还提供了相关学习资源获取方式,帮助测试人员提升技能。

2025-11-10 13:55:26 318

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

【摘要】本文分享了一位软件测试工程师的真实求职经历,从遭遇薪资骤降的职场困境到面试失败的技术反思。通过总结大数据分析,整理出软件测试岗位高频面试考点,涵盖16个技术栈共200多页内容,包括:测试理论、Linux、MySQL、Web/API/App测试、Python基础、Selenium、性能测试等核心知识点,并列举了典型面试真题示例。文章旨在帮助测试人员系统复习面试内容,提升通过率,同时节省资料搜索时间。虽然未能完整展示全部文档,但提供了关键领域的备考方向指引。

2025-11-08 20:01:22 805

原创 JMeter 请求头信息设置指南

本文介绍了在JMeter中配置HTTP请求头的方法,包括打开信息头管理器、添加/修改请求头以及通过查看结果树验证配置。文章对比了JMeter与Apifox的优缺点,指出JMeter适合复杂测试而Apifox更易用,并建议读者根据项目需求选择工具。最后还提供了软件测试学习资源的获取方式。全文重点突出JMeter请求头配置流程,并给出工具选型建议。

2025-11-08 19:13:51 238

原创 在本地部署属于自己的 DeepSeek 模型,搭建AI 应用平台

本文详细介绍了如何本地部署DeepSeek AI模型的全流程。首先说明硬件需求(推荐NVIDIA GPU+32GB内存)和软件环境(Python 3.8+/Docker)。然后分步骤指导:1)获取模型权重文件;2)安装PyTorch等依赖库;3)使用FastAPI搭建推理API;4)Docker容器化部署;5)可选前端界面开发。还提供了性能优化、模型微调等进阶建议,并列举了模型加载失败等常见问题的解决方法。该方案支持快速搭建完整的AI应用平台,适用于个性化AI服务部署需求。

2025-11-08 14:09:08 676

原创 Pytest,一个新一代的自动化测试框架

Pytest是Python最流行的测试框架,简化了测试代码编写。它通过类似普通函数的测试写法、强大的fixture功能(自动管理测试资源)、参数化测试(一个函数测试多组数据)大幅提升测试效率。还支持生成详细测试报告、丰富的插件生态(如异步测试、覆盖率统计等)和便捷的调试功能。相比Python自带的unittest,Pytest更适合大中型项目测试,能有效提升代码质量。框架虽好但要结合实际项目需求选用,良好的测试习惯才是保障代码质量的关键。

2025-11-07 19:21:53 229

原创 测试面试:神秘的TCP协议工作原理

摘要:TCP(传输控制协议)是一种面向连接、可靠的传输层协议,其核心特点包括:通过三次握手/四次挥手实现连接管理;利用序列号、确认应答和重传机制确保可靠性;采用慢启动、拥塞避免等算法进行拥塞控制;基于滑动窗口机制实现流量控制。TCP以字节流方式传输数据,通过校验和检测数据完整性。这些机制共同保障了TCP在网络通信中的高效、稳定和可靠传输。

2025-11-07 14:36:24 576

原创 web测试,App测试,小程序测试区别--小程序测试

摘要:本文介绍了小程序测试的相关知识,包括小程序的概念、类型(开发版、体验版和正式版)及主要测试点。重点阐述了8个关键测试领域:权限测试(授权状态下的访问控制)、功能测试(模块/流程/数据验证)、界面测试(设计规范)、兼容性测试(微信版本/设备适配)、交互测试(与微信及其他应用交互)、易用性测试(导航/入口设计)、安全测试(账号授权/更新管理)和性能测试(加载速度/资源占用)。最后对比了小程序与App的区别,并提供了软件测试学习资源。全文系统梳理了小程序测试的完整框架,为测试人员提供实用指导。

2025-11-06 19:17:15 854

原创 测试三大难题之一:“测试有效性”的应对策略

文章探讨了软件测试领域的核心问题——测试有效性。文章首先分析了测试有效性的定义及面临的四大挑战:测试用例设计不合理、覆盖率不足、工具限制和人为因素影响。随后提出五大提升策略:设计全面测试用例、优化测试覆盖率、运用AI智能测试、实施持续集成测试以及提升测试团队能力。文章强调,随着AI和自动化技术的发展,智能测试将成为提升测试有效性的关键驱动力,帮助团队更精准地发现问题,保障软件质量。最后,作者分享了软件测试学习资源获取方式。全文约150字。

2025-11-06 14:40:53 770

原创 故障测试与性能测试交叉实践

摘要:本文探讨了系统稳定性保障中性能测试与故障测试的融合策略。以AWS服务中断事故为例,指出分布式系统稳定性面临的性能瓶颈和故障风险。通过类比赛车性能与安全的关系,阐述了两者的互补性:性能测试关注"跑多快",故障测试关注"还能跑多久"。文章分析了二者的核心交集(延迟、吞吐量、错误率等),并提供了Kubernetes环境下的融合实践案例,包括高峰性能测试与节点故障模拟的协同实施。最后针对测试环境配置复杂、资源限制等挑战,提出了容器化环境、混沌工程工具等解决方案,为构建稳

2025-11-05 19:18:49 986

原创 酷家乐自动化持续集成困境突围

摘要: 针对自动化持续集成(CI)中效率低、稳定性差、卡点失效等问题,本文提出系统性改进方案。通过优化架构(如UI自动化迁移至Linux并发执行)、提升运行效率(线程池动态调整)、流程左移(提测阶段介入)及结果智能分析(降噪、规则过滤),实现运行耗时缩短50%,失败率从17%降至2%,issue有效率提升至70%。同时建立三级指标度量体系(如故障发现/遗漏率)推动良性循环,未来计划结合AI与多平台整合进一步增效。核心目标是避免形式化投入,确保自动化真正赋能质量保障。

2025-11-05 14:07:55 665

原创 10:00开始面试,10:06就出来了,问的问题有点变态。。。

这篇文章主要分享了一位程序员因加班费取消、薪资骤降而跳槽,却在面试时未能回答基础技术问题的经历。文章整理了软件测试岗位面试常见的16个技术栈知识体系,包括测试理论、Linux、MySQL、Web/API/App测试、性能测试、Selenium、计算机网络等核心内容,并列举了典型面试问题。作者强调这些知识点在测试岗位面试中具有高度重复性,建议求职者系统准备,并提到一份近200页的面试宝典可帮助提升通过率,但因篇幅限制只展示了部分内容。文章旨在为测试工程师提供面试准备方向,节省求职者搜集资料的时间。

2025-11-04 20:04:29 1018

空空如也

空空如也

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

TA关注的人

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