接口测试入门:轻松掌握 ,让你的后端“心甘情愿”地配合你

目录

前言

简介

什么是API测试?

API测试的必要性

API测试的类型

优势

API测试的挑战

【自动化测试工程师学习路线】


前言

在这篇文章中,我将带你轻松入门接口测试并掌握实用技巧,让你能够与后端开发人员更加顺畅地合作。相信我,当你的接口测试技能变得娴熟,你的后端开发人员将“心甘情愿”地配合你,让项目的开发变得更加高效和顺利。赶快开始吧!

简介

本章介绍应用程序编程接口(API application programming interface)和 API测试。API测试是软件测试活动的一个重要方面(在典型的基于服务的软件开发过程中)。它包括测试应用程序的业务组件,通常表示为API,然后再开发UI。一个微服务处理单一需求的API。

什么是API测试?

API对应用层进行抽象,并提供资源供客户端使用。API是任何典型的Web应用、多层Web应用或移动应用的骨干,它隐藏了系统的内部细节,例如如何为消费者处理在线支付。

API是应用程序的中间层,它与后端打交道,通常通过ORM(对象关系映射Object-Relational Mapping)或其他工具,或直接与数据库和前端打交道。API在后端和前端之间充当代理。API根据用户的要求/请求从后端读取数据,并将响应发送到前端。

没有前端的API提供服务,例如支付网关、天气预报等。

上图显示了典型的基于服务的软件应用结构。它在有数据库,中间层的API,以及从浏览器或移动应用程序发出的请求。

微服务是处理单一需求的API,该服务可以独立运作/部署。微服务是定义典型软件应用程序的业务逻辑的API,实现快速开发和可扩展的软件开发理念。

API测试涉及到业务工作流程。这可能被归类为黑盒测试,但从技术上讲,它更像是一种灰盒测试,测试人员简单地了解一些内部实施的细节,但不深入。他们通过对API内部使用的代码路径或逻辑的技术方面的了解,单独测试API。

API有约定的格式,比如JSON/XM)。它接受给定格式和所需参数的请求,并提供规定格式的正确响应。这种测试直接与应用服务器打交道。它可能涉及测试应用程序的单个组件或组合几个组件。标准测试技术适用于测试API时,如等价类、边界值分析、大请求、无效请求、未授权请求等。

API测试需要特定的工具,如httpie、curl、火狐和Chrome插件restclient、Postman和RestAssured等,它们支持请求方法和用于检索API的协议。常用的协议是HTTP(S)。测试人员用所需的请求方法键入URL,在API测试工具中以与API消费者相同的方式请求参数,然后在应用程序的上下文中验证响应/输出。

测试计划或用例是必要的,就像用户工作流测试一样。测试计划有输入,预期输出,和前提条件等。

上述段落中的概念将在以后的章节中更详细地介绍。

API测试的必要性

API测试使用之前发现功能/性能/安全/(更多类型)错误的最快方法。

在软件开发过程中,早期测试的投资回报率较高。由于API测试具有更大的代码/功能覆盖面,与前端测试相比,测试的效率往往要高很多。在单个API层面上识别错误的速度更快,因为与在前端层面上发现错误相比,复杂性更低,发现错误的可能性更高。

不测试API和在前端层面测试只会使测试更加复杂和乏味,而且通常需要更多的测试时间和资源。只测试前端是容易出错。由于前端的变化频率往往比后端/中间层高得多,失败率也往往更高。因此识别错误是后端/API的错误还是前端的错误是很耗时的。

有效地实施API测试可以帮助减少测试工作,节省时间和成本。

API测试的类型

API对消费者/前端的请求做出响应。响应应该是快速的。API不应允许未经授权的用户访问。当并发用户访问API时,它应该在规定的时间内响应。对API的无效请求应适当处理,并应返回错误信息。API应该遵守当地的法律。如果API是作为一种服务提供的,那么它应该保持与消费者的合同,参数不应改变,等等。

API最容易出现的问题

  • 61%的可靠性

  • 22.2%的安全性

  • 16.7%的性能

以下是API测试的类型:

功能测试

解决API的功能问题,例如按照业务要求返回响应。涉及控制流和数据流等。

发送和返回都符合接口设计;正确地实现了功能,比如能创建或删除用户,数据库和缓存数据处理正确等。

参数:参数的边界值和等价类划分;组合可选参数;参数为空字符串、null等特殊值;参数长度;参数类型;sql注入;包含特殊符号和编码的参数。

重复与时序测试

多次重复测试返回结果正常且一样。由于API是非常松散的耦合,乱序、丢失、重复调用如何应对?竞争和加锁的情况如何处理?时序与生命周期特别重要。

重复添加或删除用户,不会对数据库和缓存等造成不良影响,提示的错误码与文档一致。

性能测试

解决负载下的响应时间。当在同一时间点上对给定的API提出多个请求时,API应该按照服务提供商和消费者之间商定的SLA定义,在允许的时间范围内返回响应。 需要考虑多个API的组合,以及多个微服务共享服务器、DB等情况。

  • 预计API将如何被使用?
  • 如果它突然变得流行,会发生什么?
  • API是否有全球24/7使用的高可用性?
  • 是否有可能出现使用高峰的时候(例如比如全民做核算)?
  • 响应时间、并发、吞吐量等指标。

局域网内单次调用在50ms内完成、在1000并发的情况下最大相应时间不超过60ms、资源占用正常等。是否有峰值,过量是否会产生不良效果。资源消耗与容量等。重点关注响应时间、吞吐量、并发数、可靠性、 cpu、io、内存、gpu、网络等资源占用。

安全测试

解决了通过获取会话、参数篡改等方式对API进行未授权访问的问题。API不应允许任何匿名/未经授权的用户通过自身获得数据的访问。

  • 蠕虫病毒和其他负载攻击。

  • 无效的认证。

  • SQL注入。

  • 加密级别不够。传递和存储的敏感数据和日志需要加密,并且难以破解。

  • 未经授权的访问控制。 黑白名单:非授权的主机不能访问接口

  • 云问题。如果API位于云端,安全问题可能更严重,因为通常对物理网络安全的有效控制很少。

  • 意外的误用。调用方非预期滥用、文档不佳或编程错误等造成,也可能是恶意攻击。

噪声测试

解决请求中的无效或故障数据。API应该相应地、及时地做出响应。如果数据是无效的,API应该用适当的错误代码/消息来回应。

弱网

双向通信能否正常完成。尤其要考虑丢包,延迟、2G等差网络场景。可以使用linux的防火墙及tc命令或facebook的ATC框架模拟。

错误代码和消息测试

解决不正确的输入数据,并以适当的错误代码和消息进行响应。通常错误的产生是由于参数传递不正确(例如,不按顺序)或超出范围。

扩展测试

与基础设施有关,这是DevOps的常规工作,但API在这种情况下也会被测试。这主要是在微服务架构中,特定的API被更频繁地使用。API应该是可扩展的,因为并发访问将更加频繁,而且API应该一直可用。经常在性能测试中验证。

合规性测试

属于API被消费的地方管辖。例如,如果API要求提供个人信息(手机号码、出生城市等),那么这些信息应该由供应商保护,不允许任何试图获取这些信息的行为,并且应该保持审计日志。

许多行业要求软件必须符合各种法规和标准。法规可能来自政府和准政府实体,如FDA或EPA。标准可能来自于国际组织或行业团体。例如,如果软件处理信用卡或借记卡,它必须符合PCI标准。以任何方式处理健康信息的系统必须符合HIPAA标准。API可能受制于服务水平协议(SLA)或其他技术协议。如果不能满足这些协议,可能会给组织带来大量的惩罚或罚款。

CDCT(消费者驱动的合同测试)

意味着服务提供者总是保持相同的请求有效载荷。这对服务提供者的业务至关重要。如果有效载荷被改变,那么消费者请求将开始失败,这将是业务的损失。即稳定性。

变更管理

你的API是否依赖于其他API?当这些改变时,你将如何知道?API的数据模式是至关重要的。即使是对模式的一个小的改变--例如,将一个整数改为实数--也可能导致缺陷和失败。

API通常是由不同的小组开发的。试图确保所有参与者的时间表是一致的,一个小组做了一些改变,然后这些改变就像海啸一样波及所有的开发小组。

失败管理

API在生产中出现故障,你将如何知道?当(以及如果)外部组织停止使用你的API时,你是否能够找出原因和发生的时间?

数据

API的创建、查询、更新和删除等正确。数据库事务、大量数据、数据迁移等。

组合

边界值和API组合场景等。

业务组合:比如扣费需要综合考虑闲时、忙时、节假日、集团用户优惠等各种因素。注意接口的水平和垂直组合。

协议

比如SNMP协议与其他厂商的互通,私有部分的实现。又如私有协议。

可移植性问题

你的API有可能需要在不同的层面上工作。它们可能被直接调用,也可能被其他API调用,而这些API又被其他API调用,再由ESB控制。

文档

文档必须进行正确性测试。由于大量的开发者需要与你的API进行交互,文档必须为所有的开发者提供足够的信息。而文档的质量是至关重要的。文档中的数据顺序、数据类型、格式、甚至大写字母都是至关重要的,必须正确。

易用性

软件开发者是否能真正学习和理解如何成功地使用API?是否容易调用、简洁、语法一致等?

可测试性

使API的人很可能想用他们自己的API层来测试它。这可能需要特殊的环境(沙箱)供他们发挥,。这些测试是否正确,而不干扰生产环境?

甚至可以考虑使用mock伪造返回。

  • 其他:更多需要关注的点请参考ISO/IEC 25010:2011

优势

在软件开发的早期阶段发现bug是有好处的。在实施API之前,在后端找到一个bug,可以节省开发API的时间。在中间层/API中发现错误,可以节省前端开发的时间。在产品交付的软件开发模式中,越晚测试,测试工程师在紧迫的期限内找到bug就越复杂,越有挑战性。

在业务层找到bug有利于交付高质量的产品。如果API测试得足够好,对产品开发团队有明显的好处。

以下是做API测试的几个优势。

  • 容易实现自动化
  • 能更快地找到bug
  • 独立于GUI
  • 较大的代码路径覆盖率

API测试的挑战

  • API测试中的主要挑战是参数组合,参数选择和调用排序
  • 没有GUI可用于测试
  • 验证和验证不同系统中的输出对于测试人员来说很难
  • 测试人员需要了解参数选择和分类
  • 异常处理功能需要测试
  • 开发技能

作为一个过来人,对学习过程中的困难深有体会。

如果你也在往自动化测试开发方向发展,在适当的年龄,选择适当的岗位,将自己的优势都发挥出来!

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和收集总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以点击文末小卡片获取网盘链接。希望会给你带来帮助和方向。

【自动化测试工程师学习路线】

1、自动化测试必备Python编程内容

2、Web UI 自动化测试基础内容
在这里插入图片描述
3、Web UI 自动化测试实战内容

4、APP UI 自动化测试基础内容

5、APP UI 自动化测试实战内容

6、API 接口自动化测试基础内容

7、API 接口自动化测试实战内容
在这里插入图片描述
8、CI/CD持续集成专项技术

在这里插入图片描述
9、自动化测试框架实战技术

上面就是我为大家整理出来的一自动化测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的裙:194117263大家一起讨论交流学习。

我们身处知识爆炸,竞争激烈的时代,学习是对自己最好的投资,所以加油吧,测试人们!

【王道训练营 C/C++方向基础 60 题(31-40)】 王道训练营 C/C++方向基础 60 题(31-40) 阅读详情

相关推荐

博流BL602开发二 环境搭建与固件烧录实战

本文详细介绍了博流BL602 RISC-V芯片开发环境的搭建与固件烧录全流程。从Linux/WSL系统选择、RISC-V工具链配置、SDK获取,到编译首个Wi-Fi示例并生成固件镜像,再到通过命令行或图形化工具完成烧录及串口测试,提供了完整的实战指南和常见问题解决方案。

weixin_29175469的博客 424

接口测试后端接口还没开发完,如何测?解决看这一篇就够了......

在测试的时候经常会碰到后端开发工程师的接口还没有开发完成,但是测试任务已经分配过来。没有接口怎么测试呢?测试人员可以通过 mock server 自己去造一个接口来访问。mock server 可用于模拟真实的接口。收到请求时,它会根据配置返回对应的请求。在前后端分离的大背景下,mock server 在前端开发应用非广泛,也影响到测试人员。前端人员可以很快上手类似于 mock.js 这样的库,但是测试人员苦于没有编程功底,怎么办呢?实际上 postman 的 mock server 功能简单好用。

YLF123456789000的博客 525

mjlab MuJoCo 人形机器人强化学习入门教程(一)安装配置使用

mjlab是融合IsaacLab API与MuJoCo物理引擎的强化学习工具,提供轻量级GPU加速仿真方案。当前处于测试阶段,支持Linux系统(推荐)和有限macOS支持。核心优势包括:1)直接集成MuJoCo Warp实现裸机性能;2)保留IsaacLab成熟的RL抽象层;3)简化安装流程。与IsaacLab相比更专注于MuJoCo生态,适合刚体机器人RL研究。文档包含详细安装指南、平台兼容性说明、与IsaacLab的API差异对比及常见问题解答。项目正在积极开发中,欢迎社区贡献和反馈。

2506_90492529的博客 1868

接口测试系列之 —— 前端交互测试和后端逻辑测试

在交互过程中,针对一个接口也会有多个场景,前端会根据不同的入参来调 用不同的场景,根据不同响应结果, 进行响应数据的改写,来获得不同响应,验证不同响应下前端的展示效果。接口测试相对容易实现自动化,且相对 UI 自动化也比较稳定,可以减少人 工回归测试人力成本与时间,缩短测试周期,是支持后端快速发版需求,达到低 成本高收益的根源。6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础。被百万人刷爆的软件测试题库!

myh919的博客 1439

8年资深测试整理,接口测试超全总结,看这一篇就够了...

1、在做接口测试的过程中,经常有后端开发会问的问题后端接口都测试什么?怎么测的?后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。问题1:后端接口都测试什么?回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:我们怎么做接口测试

m0_70102063的博客 513

接口测试Ⅵ——总结与例题

1、请结合你最熟悉的项目,介绍一下你是怎么做测试的? 首先要自己熟悉一个项目? 功能+接口+自动化+性能是怎么处理? 第1步:需求分析,需求评审 第2步:架构师会输出接口规范; 前后端开发人员根据接口规范编码; 功能测试人员,开始靠想象根据需求设计测试用例; 接口测试人员,根据接口规范设计接口测试用例 第3步:后端开发人员,先提测接口 第4步:接口测试人员,对接口进行测试 第5步:接口测试通过之后,输出接口的测试报告 第6步:功能测试人员,根据接口的测试报告和前端开发的提测,来开始进入功能测试 接口测试人员

qq_31870305的博客 1492

接口测试要测试什么?怎么测?

比如,我们想生成不同格式的测试报告,想将测试报告发送到指定邮箱,又想让接口测试集成到CI中,做持续集成定时任务、接通测试平台、接通飞书、公司内部定制化等。从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。

chengxuyuznguoke的博客 1014

什么是接口测试?为什么要做接口测试?【建议收藏】

什么是接口测试?为什么要做接口测试接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定...

爱码小哥 4051

后端接口测试

登录接口

CongJiYong的博客 413

接口测试及常用接口测试工具总结

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。OK,上面是百度百科上说的,下面才是我说的其实我觉得接口测试很简单,比一般的功能测试还简单(这话我先这样说,以后可能会删O(∩_∩)O哈!

HUA1211的博客 1264

Postman接口测试(全网最全面的接口测试教程,含项目实战)

Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,而Postman更直观接口返回的结果。

cs888zsy的博客 2万+

接口测试及常用接口测试工具(Postman/Jmeter)

接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。

cs888zsy的博客 1340

Java后台接口开发实战演练

作为一名普通的Android开发者,想要独立开发一个App,最头疼的地方在于后台接口没人写,正常来说会有以下两种解决方案: 1. 用第三方服务 2. 自己搭建服务器 第一种方案我之前试过,使用的是[bmob后端云](https://www.bmob.cn/),还别说,当时用的还挺顺手,以致于最后成功的把我的App上架到应用市场,然鹅,好景不长,慢慢的,bmob开始各种收费了,一个是短信没法正常使用,后来我换成了mob的短信SDK,觉得用着不顺手,又换回了bmob的邮件登陆,再后来邮件又收费了,直到最

xunming的专栏 6万+

后端接口都测试什么?怎么测?

作者 |贺满链接 |cnblogs.com/puresoul/p/5388586.html本文主要分为两个部分:第一部分:主要从问题出发,引入接口测试的相关内容并与前...

公众号:Java后端 5457

接口测试vs功能测试

但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。并没有解释为什么要做?

OKC_0_Westbrook的博客 884

接口测试及常用接口测试工具

接口是程序内部或系统对外交互的桥梁,分为程序内部接口和系统对外接口。程序内部接口用于模块间的交互,如登录与发帖模块的调用;系统对外接口则用于不同系统间的数据共享,如通过API获取外部数据。常见的接口类型包括WebService和HTTP API,分别通过SOAP和HTTP协议传输数据。接口测试是确保系统间交互正确性的关键,涉及数据交换、传递和控制管理。测试工具如Postman和JMeter支持接口测试,通过验证请求和响应参数来确保接口的功能性和安全性。接口测试的重要性在于发现页面操作无法检测的bug,确保系

2401_86343726的博客 1054

接口测试怎么做

目录: 一、什么是接口? 二、接口测试流程 三、接口测试工具 四、接口测试技术点 五、总结 导读: 为什么要做接口测试 接口测试本质上是功能测试的一种,属于后端服务器测试。但是它的影响范围要远广于web,app层面。原因很简单,因为目前很多公司,服务架构都是多端共用一套接口。和用户直接交互的UI界面,web,app,小程 序,H5,它们有可能都是公用一套接口逻辑。后端如果服 务器挂了,或者出bug了,这些终端可能都会出问题。所以,做接口测试就非常有必要的。重要性: 1.越底层发现bug,它的修复成本是越

weixin_48048408的博客 2207

接口测试到底要怎么测?详细介绍接口测试的流程和步骤

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试!那么接口测试是怎么来测试接口的呢?接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性安全性以及性能方面的要求.简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。

HUA1211的博客 1929

Spring MVC 框架学习(七)---- 后端接口小练习(计算器与登陆拦截)

login登陆处理的接口,返回status(响应状态码)、succ(登陆状态码)、msg(响应的信息),同时对username、password进行校验以及匹配,如果匹配成功设置session。如果登陆正常,前端接收到data.success==1,那么跳转到/index接口,判断session是否存在,如果存在那么重定向到首页、如果不存在重定向到login登录页。如果没有登陆,获取不到session,直接点击主页,是会重定向到登陆界面的。//1.拿到输入的用户名和密码控件。...

rain67的博客 515

全网最详细的接口测试实战案例!【全文57000字】小白必看!

实战经验,吐血分享

程序员二黑 7013

HCIP-Datacom-H12-831题库.zip

HCIP-Datacom-H12-831题库 1HCIP-Datacom-H12-831题库 2

康佳智能电视刷机数据 QLED65X80U 物料号99014976 V2.0.01 强制刷机 整机USB升级 解决死机卡开机

主程序软件:99014976(如经查询与该物料号不一致,请勿下载)康佳电视串号检测平台 :http://service.kkapp.com/KKAFTERSALE/pages/sn/sn.jsp确认自己的主程序软件号1、解压,找到 M828Upgrade.bin 复制到U盘根目录;2、拔除电视USB口的所有其他设备;3、把U盘插入电视机的USB口(不可用USB1(3.0)端口来升级);4、按住遥控器的音量“+”键(或机上按键“音量+”)不要释放,然后给电视机上电开机,10秒后可以释放遥控音量“+”键,此时主程序已经在升级,升级完成后会自动重启启动升级,就要等8-30分钟,中途不能有任何断电。注:有康佳图标定着不动,U盘灯闪,是进入升级程序。如果出现灰屏,是U盘接触不好,30分钟后不行,就重新升级。机器自动重启等完全正常后才拨下U盘,升级第一次进入系统,时间肯定要长一点,请等2分钟才操作。

上一篇: 1000名成功入职软件测试工程师简历经验分享:如何写好项目经验部分?(附真实简历模板)
下一篇: 别再手动一个个添加了。使用While循环控制器轻松遍历获取文件参数
bug捕手
博客等级 码龄4年 888粉丝 417原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值