首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我需要一些使用扩展报告的Cucumber+Java+selenium+TESTNG并行执行的好例子

Cucumber是一个行为驱动开发(BDD)工具,它结合了自然语言的描述和自动化测试脚本。它使用Gherkin语言编写测试用例,这种语言非常易于理解和阅读,可以与非技术人员共享和讨论。

Java是一种广泛使用的编程语言,具有强大的生态系统和丰富的库。它可以与Cucumber和其他测试框架无缝集成,提供丰富的功能和灵活性。

Selenium是一个用于Web应用程序测试的自动化工具。它支持多种浏览器和操作系统,并提供了丰富的API,可以模拟用户在Web应用程序上的交互操作。

TestNG是一个灵活的测试框架,可以在Java平台上进行单元测试、集成测试和端到端测试。它支持并行执行测试,可以提高测试的效率和速度。

使用扩展报告的Cucumber+Java+Selenium+TestNG并行执行的好例子可以是:

  1. 场景描述:假设我们正在开发一个电子商务网站,需要对用户注册功能进行测试。
  2. 测试用例编写:使用Gherkin语言编写测试用例,例如:
代码语言:txt
复制
Feature: 用户注册
  Scenario: 正常注册
    Given 用户打开注册页面
    When 用户输入有效的用户名和密码
    And 用户点击注册按钮
    Then 用户成功注册并跳转到首页
  1. 编写步骤定义:使用Java编写步骤定义,与测试用例进行关联,例如:
代码语言:txt
复制
public class UserRegistrationSteps {
  @Given("^用户打开注册页面$")
  public void openRegistrationPage() {
    // 打开注册页面的代码
  }

  @When("^用户输入有效的用户名和密码$")
  public void enterValidCredentials() {
    // 输入有效的用户名和密码的代码
  }

  @And("^用户点击注册按钮$")
  public void clickRegisterButton() {
    // 点击注册按钮的代码
  }

  @Then("^用户成功注册并跳转到首页$")
  public void verifyRegistrationSuccess() {
    // 验证注册成功并跳转到首页的代码
  }
}
  1. 配置并行执行:使用TestNG的配置文件,配置并行执行的参数,例如:
代码语言:txt
复制
<suite name="Test Suite" parallel="methods" thread-count="5">
  <test name="User Registration Test">
    <classes>
      <class name="com.example.UserRegistrationSteps"/>
    </classes>
  </test>
</suite>
  1. 执行测试:运行TestNG配置文件,启动并行执行的测试,例如:
代码语言:txt
复制
java -cp "path/to/testng.jar:path/to/cucumber.jar:path/to/selenium.jar:path/to/project.jar" org.testng.TestNG testng.xml

这个例子展示了如何使用Cucumber、Java、Selenium和TestNG进行扩展报告的并行执行。通过使用Gherkin语言编写测试用例,Java编写步骤定义,TestNG配置并行执行,可以实现高效且可读性强的自动化测试。对于扩展报告,可以使用TestNG的报告插件或者其他第三方报告工具来生成详细的测试报告。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云CVM(云服务器):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能AI:https://cloud.tencent.com/product/ai
  • 腾讯云物联网IoT:https://cloud.tencent.com/product/iot
  • 腾讯云区块链:https://cloud.tencent.com/product/bc
  • 腾讯云视频处理:https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信TRTC:https://cloud.tencent.com/product/trtc
相关搜索:我需要一些在smalltalk中发送参数的例子扩展区报告:并行执行测试时,测试步骤将合并到扩展区报告的最后一个测试中我需要一些使用print语句的帮助我需要一些关于使用Drupal的OpenAPI (Swagger)的指导与串行代码相比,使用OpenMP的并行代码需要更多时间来执行大家好,我想在扩展报告和失败测试用例的屏幕截图中实现我通过的测试用例的日志我可以在Jenkins中的并行测试执行器中使用nosetests吗?使用Cucable插件并行执行cucumber脚本时仅显示一个测试用例结果的范围报告我需要在perl数组中搜索值,如果找到匹配的值,则执行一些代码我的子组件执行验证,但我需要在更高的组件中使用该验证我在使用git时不小心删除了我的文件,需要一些帮助来恢复我需要使用扩展的小部件来避免溢出,但我没有得到所需的大小我需要使用线程来测试android中的代码执行速度吗?我需要在没有nltk的python中执行词干分析操作。使用管道方法如果我需要做一些有状态的编排,那么使用React钩子的最佳实践是什么?我需要一些信息来创建一个使用tkinter python的计时器我需要一个智能解决方案来获取SSRS报告中使用的所有属性列表为什么我需要使用扩展操作符和克隆对象来更新react中的对象属性我正在重构JS中的一些代码,我需要对此数组中的值执行su操作,这些值由字符、布尔值、数字、对象和数组填充我需要一些弱熵.我知道我可以使用一个单元化缓冲区,但如果我只需要一个整数值,它的地址就足够了吗?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

写了这么多golang程序,来给出一些针对于使用golang并发性和并行性特征来提高系统性能专业性建议

写了这么多golang程序,来给出一些针对于使用golang并发性和并行性特征来提高系统性能专业性建议 关于人类认知能力,很少有概念像“多任务处理”一样引起如此多争议。...多任务处理在计算机中扮演了类似的角色,但具有不同名称 - 并发和并行处理。 并发和并行处理 在软件开发中,多线程应用程序通常需要并发和并行处理。了解这两个过程之间重要但微妙区别非常重要。...您可以编写可并发执行代码,该代码可以由计算机不同核心并行执行或按顺序执行,具体取决于Go调度程序运行时。 在Golang中,通常通过Go通道在Goroutines之间交换数据以实现并发。...在本文中,将描述在做了若干个Golang项目被我广泛使用一些模式,用于在微服务中并行处理数据。 通常,我们使用算法并行化或数据并行化来利用托管计算机多个处理器核心,并加快计算速度。...算法并行化 算法并行化意味着程序包含可以独立执行不同阶段。在大多数情况下,一个阶段依赖于另一个阶段或该阶段产生数据。一个有用例子是计算和传输任务。

18610

DB time抖动原因分析案例分享(r6笔记第67天)

因为使用数据库环境多且复杂,数据库不只有Oracle,所以通过gc来统一管理所有的数据库平台定制成本较高,使用zabbix可以满足系统级监控和MySQL等监控报警,对于Oracle监控通过扩展Orabbix...下面是一个awr报告中DB time例子。...既然短时间内存在大量并行,但是通过日志,ash报告,scheculer中物化视图刷新都没有找到更多信息,开始尝试自己定制监控策略。于是写了上面的脚本。...来定时从数据库中抓取这些并行信息。 写了这个脚本之后,在后台去跑,每5秒钟检查一次,执行10个小时,这样在第二天上班时候就能够得到详细报告了。...我们先排除并行影响,使用Hint no_parallel来看看rebuild分区索引前后执行计划情况。

1.3K70
  • Selenium并行测试基础

    许多公司仍在使用顺序测试方法来提供质量保证,这会消耗大量时间,资源和精力。 本人是一些简单尝试,可以展示一个发行周期中并行测试重要性。...假设要测试提交表单功能,然后为该表单编写了自动化测试脚本。如果要对60种不同浏览器和操作系统组合执行此测试,并且假设单个测试在1分钟内运行,则总共需要60分钟,即1个小时。...一些最受欢迎原因如下: 更广泛测试范围 与顺序测试相比,并行执行测试是一种更快方法,因为它为测试人员提供了更广测试兼容性,且跨度更短。...开发团队以后可以使用这些报告在代码中查找问题并快速修复它们,以优化CI/CD。 连续测试 在尽可能短时间内发布高质量产品方法是使用持续集成和交付方法。...退出级别标准描述了成功执行并行测试步骤,包括: 针对新开发系统运行旧系统 了解两个系统之间区别 使用相同输入进行完整自动浏览器测试周期 与旧系统相比,测量新开发系统输出 向开发团队报告错误

    56730

    【PostgreSQL 架构】PostgreSQL 11和即时编译查询

    同时,使用您自己应用程序对其进行测试是确保社区在零点发行之前捕获所有剩余错误方法。 下一个PostgreSQL版本重大变化之一是Andres Freund在查询执行器引擎上工作成果。...基准和TPC-H 喜欢在Citus Data进行工程工作以通过Citus扩展扩展PostgreSQL一件事就是,可以运行基准测试!基准测试是一个很好工具,可以显示性能改进可带来哪些好处。...在此基准测试中,我们选择在PostgreSQL中禁用并行查询,以便评估主要由新执行程序导致改进。PostgreSQL 10 then 11中并行支持能够大大增强我们在此看到查询时间!...在PostgreSQL 11中,由于在查询计划时使用LLVM编译器基础结构,SQL表达式已转换为机器代码,这对查询性能产生了另一个非常影响!...我们在这里使用TPC-H s语。另外,在研究PostgreSQLTPC-H实现中,增加了对直接加载机制支持,这意味着dbgen工具连接到数据库服务器并使用COPY协议。

    1.8K20

    Citus 简介,将 Postgres 转换为分布式数据库

    示例用例包括: 具有亚秒级响应时间分析仪表板 关于正在展开事件探索性查询 大型数据集归档和报告 使用漏斗、细分和同类群组查询分析会话 Citus 优势在于它能够并行化查询执行并随集群中工作数据库数量线性扩展...Citus 在实时应用方面的一些优势: 随着数据集增长保持亚秒级响应 实时分析发生新事件和新数据 并行化 SQL 查询 横向扩展而不放弃 SQL 保持高并发下性能 快速响应仪表板查询 使用一个数据库...高性能 Citus 集群需要考虑数据模型、工具和所使用 SQL 功能选择。...当 Citus 不合适时 一些工作负载不需要强大分布式数据库,而另一些工作负载则需要工作节点之间大量信息流。在第一种情况下,Citus 是不必要,而在第二种情况下,通常性能不佳。...这里有些例子: 当单节点 Postgres 可以支持您应用程序并且您不希望增长时 离线分析,无需实时摄取或实时查询 不需要支持大量并发用户分析应用程序 返回大量数据 ETL 结果而不是摘要查询

    3.8K10

    CUDA菜鸟必看:论坛里那些总是被问到问题.....

    对于高手而言,飞花拈叶即可伤人,换句话说,想要用便宜硬件达到一定效果,起码得有点水平,知道怎么整,否则,花钱堆硬件也可以弥补 ,两头都占上,一般没那么事情。 异构计算和并行计算是一回事情么?...为啥速度变慢了?...(因为你之前还能以2ms一次速度执行,证明卡是)(后来变成200ms一次(20s,100次),只可能是你host code导致其他方面的问题)(而不会是卡突然变慢100倍)你说呢。...怎么解决,引入什么 答:從CUDA 5.0起,例子裡面已經不包含cutil了。NV多次聲明,cutil只是給他們自家例子,僅用於例子用途,不得在自己項目中使用。...目前有兩個選擇: (1)修正所有抄襲自老版本例子代碼,不要使用cutil (2)降級CUDA到老版本。 一个kernel,每个block里算法必须一样吗? 答:没人要求必须一样

    2.4K70

    关于MeterSphere性能测试架构理解

    每个jmeter-docker实例(多任务)压测完后,都会保留独立测试报告(相当于是多个jmeter独立并行测试): ?...所以这个平台非常适合多任务并行测试,同时方便实现在云端上部署扩展(基于docker优势) ,最关键人家还是开源,所以这个平台亮点很多。...在我们向一个测试资源池中添加节点时,除了节点 IP、端口信息外,还需要根据该节点机器规格,配置该节点可以支持最大并发数。...、测试日志等信息输送到执行 Kafka 队列中,MeterSphere 中 data-streaming 组件会从 Kafka 中收集这些信息并进行汇总处理(按测试任务所对应UUID键来汇聚报告)。...:https://smooth.blog.csdn.net/article/details/83380879 性能测试光有工具还不行,还需要有理论和实战技能武装,请关注录播课程《性能测试核心知识解惑

    2.1K30

    HTAP for MySQL 在腾讯云数据库演进

    而在使用并发查询后,四个DOP、四个worker只需要16秒时间。可以看到并行查询效率提升是线性,达到了四倍。...我们之前也曾经尝试过使用反写SQL方式,但是与第一个方案相比,工作量并不见得小,因为基本上必须要把整个执行计划反向一遍。因此,我们采用第二种方案实现了非常效果。...由于列存索引不断演进,其功能可能会不断扩展,因此当整个plan过来时候,不能完全在我们列存执行,那我们就有一些需要在行存执行,所以当前我们需要混合执行框架,以实现更好效果。...最底下是列存执行一个计划,而上面则是行存执行计划。这个计划非常地体现了我们将行列存储优点相结合,并加入了并行查询能力。这样做结果就是我们具备了整合多方优点能力。...但是我们已经将并行查询扩展到了私有云上,这意味着我们公有云和私有云都使用了同一个并行框架。接下来,我们会将列存能力扩展到私有云上。这意味着我们一套能力可以在两个系统上完全复用。

    1.7K20

    一起来学shell bash编程(2)

    一个优秀循环例子 首先,我们需要养成一个习惯,永远不要在 *匹配文件“模式”(例如 *.fastq或 *.bam等)上运行命令。因为文件处理顺序可能与期望不符。...另外运行时可能会增加一些你不想运行文件;这个糟糕习惯最终会导致一些棘手问题。 一个习惯是,我们需要整理出我们要处理文件“根”,换而言之就是数据之间用于独特标识那一部分。...GNU parallel内容,可以查阅之前推文: 生信小技巧:并行运行秘密 更加高级shell编程 自带manualbash脚本 一个脚本是应该自带说明manual。...例如,一个脚本需要运行参数,参数使用说明等。 下面给大家一个模板例子: bash getdata.sh *** This script needs arguments to work!...下面让一些例子: FILE=/A/B/C.txt.gzecho $FILE 如预期打印: /A/B/C.txt.gz 从名称中删除目录,并仅使用basenameshell命令保留文件名: FILE=

    2K50

    硅谷教父John Hennessy:我们正站在计算机架构第五时代门槛上

    另外,他还断言:计算机架构第五时代必然是专用处理器天下,而目前我们正处在第四时代到第五时代转换节点上。 以下是报告全文,AI科技评论进行了不改变原意整理。 ? 大家是John L....诚然,这是一个相对容易优化简单例子,但是觉得这里面显示了一些机会。对于特定领域架构,根据领域特点来定制架构,从而达到更高效率。这并不只是针对一个应用,而是针对一整个领域应用。...深度学习其所针对神经网络处理器就是非常例子,我们可以看到GPU已经彻底改变了图形计算性能。 ?...面对这种情况,针对特定领域专用处理器比通用处理器更能“打”,它带来好处是:1.它能够在特定领域使用更简单并行性(较少控制硬件);2.也能够更有效地使用内存带宽;3.还能够消除不需要精度。...总结一下:旧东西总能变成新。软件架构师Dave Kuck曾经说过:“真正让沮丧使用 ILLIAC IV,给机器编程非常困难,架构可能不太适合我们试图运行一些应用程序。

    1.1K30

    【单元测试】--工具与环境

    以下是一些关键特点和概念,用来介绍 pytest: 简洁语法: pytest 提供了简洁测试用例编写语法,不需要强制使用类或特定命名约定,这使得测试用例编写更加自然和易读。...并行测试: pytest 支持并行测试执行,提高了测试效率,特别是在大型测试套件中。 测试报告: pytest 生成详细测试报告,以帮助开发人员理解测试结果,并支持集成到持续集成流程中。...并行测试: Mocha 支持并行测试执行,提高了测试效率,特别是在大型测试套件中。 易于集成: Mocha 可以轻松集成到持续集成(CI)工具中,以便自动运行测试并生成报告。...运行测试: 运行配置 NUnit 运行器来执行测试。你应该能够看到测试执行结果,并检查测试报告以查看失败测试。 6....具体配置方式取决于你使用持续集成工具,但通常你需要执行以下操作: 指定测试运行器(NUnit 控制台或其他工具)。 指定测试程序集(包含 NUnit 测试程序集)。 设置测试报告输出位置。

    37850

    【rainbowzhou 面试36101】综合提问--详细描述下,你在技术方面进行选择时,考虑到点?

    大家是rainbowzhou。 今天和大家聊聊,身为测试lead,在技术方面选型时,需要考虑哪些方面,我会提供三种回答,希望能够对你有所帮助。...技术扩展性和可维护性:选择一些能够支持产品快速迭代和规模扩张技术,避免使用一些难以扩展或维护技术。...技术扩展性和可维护性:选择一些能够支持产品快速迭代和规模扩张技术,避免使用一些难以扩展或维护技术。...,或者需要复杂配置或操作技术,因为这样可以保证人工智能技术扩展性和可维护性,适应产品变化和发展。...可以使用自动化测试来实现软件产品快速验证和回归,以便保证软件产品质量和稳定性。可以使用Selenium Grid、BrowserStack等分布式测试平台来并行执行自动化测试。

    15830

    一文看尽C++ 过去这一年

    标准库上还有更多工作需要完成,特别是针对并行算法和文件系统等重要问题工作。.../ 而Clang库对并行算法支持还需要继续等待。...问卷调查 一个多星期前,做了一个快速问卷调查,希望得到一些关于C++使用数据。收到了574个回复!感谢大家! C++ 标准使用 在日常工作中,你使用哪个C++标准? ? ?...认为这个问题中“debuggers”不是个选项,因为我们可以假设所有的开发人员在某个时候都会使用它。...也很高兴看到有人说“最好书”。谢谢:) 给个对这个问题回答例子: “最好事情是了解了C++17细节”, 当然,这个免费版本坚定了在项目中使用想法。

    3.4K10

    Github标星1.6W+,程序员不得不知“潜规则”又火了,早知道就不会秃头了

    现实例子: 微软 2002 年报告表明,修复最常出现 20% 错误,将消除 Windows 和 Office 中 80% 错误和崩溃。...它可以预测增加处理器数量实际好处,然而增加处理器数量会受到程序并行限制。 举例说明:如果程序由两部分组成,A部分必须由单个处理器执行,B部分可以并行运行。...下图展示了一些运行速度提升潜能例子: 可以看出,50% 并行程序在使用大于 10 个处理单元之后速度提升收效甚微,而 95% 并行程序在使用超过一千个处理单元之后仍然可以显著提升速度。...随着摩尔定律逐渐失效,单个处理器速度增加缓慢,并行化是提高性能关键。 图形编程是一个极好例子,现代着色器可以并行渲染单个像素或片段。这也是现代显卡通常具有数千个处理核心(GPU 单元)原因。...举一个假设例子,想象一个能够将 Markdown 转换为 HTML 模块。如果可以扩展模块,而不修改内部模块来处理新 markdown 特征,而无需修改内部模块,则可以认为是开放扩展

    39510

    可预测性对区块链扩展性为何重要?

    其中,一些 DeFi 团队已经承诺在多个 Layer 1 和 Layer 2 部署合约。但是,每个执行环境都需要唯一风险参数。这会增加每个协议社区所需社会协调数量,减慢行业发展速度。...由于它可以在 GPU 上并行执行事务,因此可以利用 GPU 并行性带来巨大增益。 摩尔定律可能是过去 50 年中最重要经济力量。但是今天它更多呈现出一种假象。...Solana 是唯一一个通过 SeaLevel 运行时进行分片内并行计算区块链 。SeaLevel 在 GPU 本地执行事务。...执行层 在执行层,EVM 是单线程计算机。由于任何交易都可以修改全局状态任何部分,因此为了支持并行性,系统需要某种方式来确保两笔交易不会尝试同时写入同一个状态。...所有不重复交易都可以并行化,在数千个 GPU 内核中并行运行。 披露:Multicoin 已制定、维持和执行合理设计书面政策和程序,以识别和有效管理与其投资活动有关利益冲突。

    48820

    Linux parallel 命令使用手册

    如果您想要使用Parallel来并行执行命令行作业,那么您需要进行一些基本配置,以便Parallel可以更好地适应您环境和需求。...以下是一些常见日志和报告选项: --joblog:指定要生成作业日志文件 --resume:从上次中断地方继续执行作业 --tag:为每个作业添加标记,方便查看日志和报告 --results:指定要生成结果文件夹...  您可以使用这些选项来生成详细日志和报告,并对作业执行情况进行分析和优化。   ...然而,它也有一些优缺点,需要您在使用时进行权衡。 优点 加速作业执行: GNU Parallel可以将作业分成多个块,并并行执行它们,从而加速作业执行。这可以帮助您节省时间和提高工作效率。...如果您需要处理大量数据和作业,或者需要利用多个CPU核心和计算机节点来执行作业,那么GNU Parallel是一个非常选择。

    17810

    深入并行:从数据倾斜到布隆过滤深度理解Oracle并行

    Hash join 和布隆过滤 布隆过滤在并行执行计划中使用非常普遍, 将在本章节解释这一数据结构及其作用. 从 11.2版本开始, 串行执行 sql 也可以使用布隆过滤。...并行执行计划中典型串行点 现实世界中, 由于使用不当, 并行操作无法并行, 或者并行执行计划效率低下, 没有获得期望性 能提升. 本节举几个典型例子....小结 列举了使用并行执行时, 常见三种问题: 使用 rownum. 自定义 pl/sql 函数没有声明 parallel_enable....处理并行执行问 题, sql monitor 报告是最好分析工具....希望在本文通过真实例子和数据,以最简单直接方式, 向读者阐述 Oracle 并行执行核心内容, 以及在现实世界中, 如果规避最 常见使用误区.也希望本文所使用 sql monitor 报告分析性能问题方法

    2.2K90

    框架分析(11)-测试框架

    并行执行 Selenium支持并行执行测试,可以同时在多个浏览器上执行测试脚本,提高测试效率和速度。 集成测试框架 Selenium可以与其他测试框架进行集成,如TestNG和JUnit等。...总结 Selenium框架具有多语言支持、多浏览器支持、元素定位、页面操作、等待机制、浏览器控制、测试报告并行执行和集成测试框架等特性。...扩展模型 JUnit 5引入了扩展模型,允许开发人员通过实现扩展接口来自定义测试框架行为。可以通过扩展接口来修改测试生命周期、测试运行器、测试报告等。...可扩展性 JUnit框架支持自定义扩展,可以根据需要添加自定义测试规则和扩展功能。...对于需要并发测试场景,需要使用其他工具或框架。 对于初学者不友好 对于初学者来说,JUnit框架一些概念和用法可能比较抽象和难以理解,需要一定学习和实践才能熟练使用

    22820

    深入并行:从生产者到消费者模型深度理解Oracle并行

    在本文中, 在一个简单星型模型上, 我会使用大量例子和 sql monitor 报告, 力求以最直观简单 方式, 向读者阐述并行执行核心内容: Oracle 并行执行为什么使用生产者-消费者模型....如果 PX 进程在执行计划中需要多次分发数据, 可能需要执行计划插入一些阻塞点,比如 BUFFER SORT 和 HASH JOIN BUFFERED 这两个操作, 保证上一次数据分发完成之后,才开始下一次分发...小结 为了说明并行执行生产者-消费者模型是如何工作, 使用了 broadcast 分发, QC 分配两组 PX进程, 一组为生产者, 一组为消费者....这个例子中, 对 lineorder hash 分发会增加明显 db cpu. 下一节, 使用另 一个例子, 说明 hash 分发适用场景。...所以当 DoP 大于分区数时, 并行执行 随着 DoP 提高, 扩展性并不好。

    1.4K61

    英特尔IDF PPT揭秘: 高性能计算和深度学习发展趋势

    代号KNLXeon Phi至强芯片是英特尔努力尝试之一,同时在深度学习算法改进上,英特尔也做了一些努力。...2)算法,模型,软件出现: 算法:DNN/CNN/RNN 软件:Caffe/TensorFlow/MXNet 3)高性能计算样本激励:AlphaGo可视为典型例子。 ?...KNL技术优势:高性能、高应用可适性、高可扩展性、可编程。 ? 关于KNL测试结果 性能:1KNL/2 CPU=6.88X 。(叠加)扩展效率:95% ?...来自伯克利大学原始版本Caffe语言在处理数据规模太大时需要时间太长了,并且默认情况下并不支持多节点、并行文件系统。因此不是很擅长超大规模深度学习运算。...不过由于Caffe是开源,因此理论上任何人都能对其进行自己需要改进。Caffe多种功能事实上都有很好被改进以支持集群并行计算潜力。

    1.3K40
    领券