当前位置: 首页 > news >正文

接口自动化框架对比 | 质量工程

一、前言

自动化测试是把将手工驱动的测试行为转化为机器自动执行,通常操作是在某一框架下进行代码编写,实现用例自动发现与执行,托管在CI/CD平台上,通过条件触发或手工触发,进行回归测试&线上监控,代替部分的手工测试;

不同的项目适合的自动化框架也是不同的,自动化系列文章将逐个介绍实际工作中使用的自动化框架。

自动化接口测试使用到的框架:

  • Postman+Newman+Allure+Jenkins/极库云

  • Httprunner+Request+Pytest+Alluret+Jenkins

  • JMeter+Ant+Allure+Jenkins

  • Pytest+Request+Allure+Jenkins

自动化UI测试使用到的框架:

  • Selenium+Pytest

  • Appium+WDA+TestNG

  • Minium+pytest

本章节先对自动化接口测试的四个框架进行对比介绍,后续系列文章介绍详细搭建过程和封装过程。

二、自动化接口测试简介

1、接口测试的必要性

接口测试有着极为高效的成本收益比,是测试左移的重要环节。

接口测试为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台复杂,系统越庞大,接口测试的效果越明显。

总的来说,接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益驱动作用下的最佳方案,主要体现在如下三个方面:

  • 节省了测试成本

  • 接口测试不同于单元测试

  • 收益更高

2、自动化接口测试的必要性

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试;

当服务端改动功能、添加新功能时、测试环境切换时、新发布程序后,避免新代码导致已有功能不可用,都需要进行接口的全量回归。人工触发不及时且容易遗漏。

接口自动化接入持续集成,服务端发布触发接口测试代码运行,尽早发现问题

抽取部分接口测试用例,定时运行程序,对线上常用的业务操作进行监控,及时发现修复。

3、自动化接口测试适用场景

  • 提测前冒烟测试

  • 预生产/上线前回归测试

  • 服务端底层逻辑变更后的回归测试

  • 线上服务器可用性监控

4、成果物

通过自动化测试,进行线上可用性监控 和 回归测试,可以节约大量手工测试时间,降本增效。线上线下均发现过较多问题。

三、自动化接口测试框架概览

1、几种框架对比

还有很多其他框架,本次只针对实际工作中应用到的几种框架进行对比。

a7ccf7550009413fe93ea88d5e6afb21.png

2、自动化接口测试框架的必要性

  • 提供统一的用例模板,简化业务接入的成本

  • 处理脚本中一些异常和错误处理工作

  • 实现一些通用的功能,简化脚本开发的过程

  • 测试场景恢复

  • 测试结果/报告输出

四、自动化接口测试框架对比

1、Postman+Newman框架

①简介

postman是谷歌浏览器的扩展工具,也有独立的客户端产品。

postman非方便日常的调试,使用简单。

主要功能包含接口请求的发起,测试的断言,设置前置条件,支持后置操作,支持使用全局变量/环境变量/集合变量/内部变量,参数化应用、接口关联、postman结合newman+jenkins实现简单的接口自动化并进行持续集成等操作。

postman高级的功能可以付费进行定制化。

②优缺点

优点:

  • 免费版就已经非常强大了,门槛低,上手快,跨平台

  • 使用门槛低,只需要简单的编程能力,一些复杂的断言可能需要了解js语法;

  • 支持不同的认证机制,包括Basic Auth、Digest Auth、OAuth1.0、OAuth2.0

  • 可以发送大多数类型的HTTP/HTTPS请求,如GET、POST、PUT、PATCH、DELETE、   TRACE等;

  • 支持数据驱动,读取数据文件,json,csv

  • 支持设置环境变量:方便切换不同的环境进行接口测试工作,而不用修改变量或代码;(同一套测试用例,可以通过切换环境变量运行在不同的环境中,如生产环境/预发布/测试环境)

  • 无重复工作量,接口测试的case可以直接导出形成测试用例;

  • 接口测试转换成自动化case非常方便,运行也比较简单;

  • postman是google维护,可靠;

 缺点:

  • 仅支持Node.js语言,而js不具有通用性;

  • 不能操作文件相关的操作,不能读写数据库,不能使用非HTTP协议

  • 不支持配置测试用例优先级、测试用例分组功能,只能按顺序执行;

  • 测试用例中动态数据/测试准备功能/测试断言都必须提前定义好,不能满足所有场景的要   求(如数据库交互) ;

  • 测试用例是json格式,查阅、维护及更改都十分不变;

  • 测试用例维护成本高,当有变更时,需要再次导入到newman工程中;

  • 框架的扩展性差,postman的CI集成以及扩展封装都需要单独的开发新的项目兼容post   man本生的框架语言

  • 不支持运行时动态传入环境变量

  • 不支持失败重试

  • 仅适合业务逻辑不复杂的小型项目

③使用要求

  •  对http协议有基本的了解

  •  了解接口测试概念

  •  工具的基本使用

  •  请求头,请求体能分清即可

④适用业务

  •  业务中接口量大

  •  业务场景独立,关联关系弱

  •  小型API项目的自动化

  •  短期项目的API回归测试

  •  编码能力较弱的测试团队或初学者

⑤环境依赖

  •  需要 Node.js 执行环境

  •  需要安装newman ,npm install -g newman

  •  安装用到的插件,如htmlextra,allure等

⑥应用步骤

a.用例要求:接口用例中做了较完善的接口管理、全局变量/环境变量定义、动态参数应用、请求参数化、实现了接口关联、所有的接口均有状态/性能断言+业务断言

b.生成项目:导出接口测试用例、环境变量、全局变量、数据驱动文件等

c.配置项目:框架单独章节再行介绍具体配置过程

运行项目

  • 本地使用CLI执行自动化

2602366852f020f92ce524f289f9436a.png

  •  配置到jenkins job中

d.查看报告 (其他框架都是使用Allure输出报告,不再赘述)

b467a4f5b2a47467d5a4afed1809061b.png

代码上传gitlab/github

e.接入持续集成,并配置定时任务(其他框架都支持通过极库云或jenkins做任务调度,不再赘述)

  • 接入极库云流水线

cebe2acf1324d13b29f5bfbf5ea3d4f8.png

  • 接入 Jenkins

bffe0858d04262983be2b0140e57c3ef.png

2、JMeter+Ant框架

①简介

JMeter可以用于性能测试,在性能测方面很强大,也可以用于自动化接口测试。

②优缺点

优点:

  •  支持参数化

  •  不需要写代码

  •  支持协议较多,如HTTP、FTP、soap、websocket、jdbc、thrift、dubbo等

  •  支持数据库操作

缺点:

  •  创建接口用例效率不高

  •  学习成本高

  •  需要会jmeter工具的基本使用

  •  会数据库基本操作及编写SQL语句

  •  了解用到的非http协议,如项目【自研长连接】使用的websocket协议

③使用要求

 jmeter的学习成本主要在jmeter工具的使用上

 对于已经掌握工具使用的人,利用jmeter进行自动化测试只要会Ant配置即可

④适用业务

 涉及数据库操作

 涉及非https接口的业务

 业务需要进行性能测试,已完成主要接口脚本编写

⑤环境依赖

 不同版本JMeter对Java版本的要求不尽相同。比如:JMeter3.3仅支持Java 8,

 JMeter4.0要求Java 8+(表示大于等于Java 8版本),JMeter5.0以上要求Java 8+

 安装ant插件

⑥应用步骤

  • 用例要求:接口用例中做了较完善的接口管理、恰当的组件使用、动态参数应用、请求参数化、实现了接口关联、所有的接口均有状态断言+业务断言

  • 生成项目:编写测试用例、导出测试用例,数据驱动文件等

  • 配置Ant 的 build.xml文件

  • 运行项目

    本地使用ant执行自动化

    配置到jenkins job中

3、HttpRunner+request

①简介

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

 支持 HTTP(S) / HTTP2 / WebSocket /thrift  /dubbo 等网络协213议,涵盖接口测试、性能测试、线上监控、持续集成、数字体验监测等测试类型。

 简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

 只需编写维护一份 YAML/JSON 脚本

 前身 ApiTestEngine (2016年),2017年正式更名HTTPRunner,并PyPI托管

②优缺点

设计理念和主要特征在官网有详细列出,不再赘述。这里主要列举一下优缺点。

优点:

  •  基于YAML/JSON格式,专注于接口本身的编写

  •  接口录制功能,操作简单,只需3步即可完成测试,对于较为简单的场景尤其方便

  •  接口编写简单,容易上手,对代码编写能力要求较低

  •  生成测试报告,可以自动生成测试报告,框架自带的测试报告模板基本满足需求,支持自定义测试报告的模板

  •  分层机制,适合冒烟流程测试,无需重复编写接口,只要根据需求灵活调用即可

缺点:

  •  HttpRunner 没有编辑器插件,本身就是一个配置文件,所以只要是合法的YAML/JSON格式,就算写错了看没有校验也不出来,只有运行起来才知道

  •  框架推出时间相对较短,官方文档没有特别详细的说明,且网上资料相对其他主流测试框架较少

  •  扩展不方便,数据驱动需要依赖其他接口返回,且有先后顺序,这个比较麻烦,暂时框架不支持很优雅的解决这种情况.可以通过分步来解决这个问题

  •  由于用例的数据导出只能在一个测试周期中,所以我们还要解决测试数据传递的问题

  •  通过写入文件的方式解决.接口返回的测试数据写入文件,然后需要的地方通过读取文件的方式读回数据

③使用要求

 有一定的python基础,会使用charles/fiddler/postman, 对request框架有基本了解,至少会get、post请求

④适用业务

 接口关联关系弱、业务逻辑分支多,场景多、 接口/场景复用性高

⑤环境依赖

 python V3.6+

 pycharm

 httprunner 3.1.11以下(!重要,httprunner V4已经去掉了startproject脚手架,不适合新手快速接入)

 Anacanda

⑥框架实现功能

  • 概述

二次封装采用了V2.0和V3.0结合的方式:

a.使用V2.0的分层理念,降低场景case编写的重复性和后期维护成本

b.在V3.0上运行。使用了V3.0集成的pytest功能,包括parameters、fixture 、hooks、allure以及其他pytest生态的众多插件

c.用例管理仍旧使用yaml,使用V2.0的har2case方法生成yaml用例,对代码基础薄弱的同学相对友好

d.保留了V3.0的链式调用和语法检查,对有代码基础的同学编,提供了智能语法提示写用例时,提供语法检查

e.报告的生成使用了V3.0引入的allure,报告更加美观详细

f.可移植性,支持conda虚拟环境+requirements.txt 复制环境

  • 主要功能已实现,后续功能根据业务需要持续更新

参数化、业务断言、数据驱动、测试分层、util封装、环境变量、配置管理、场景测试用例、 setup/teardown,不同作用范围、 热加载、 动态参数、 报告、 持续集成

  • 整体运转流程 

c334a35e0b6150804ca1472b4fccb9cd.png

图片来源:debugtalk的github readme

⑦应用步骤

用例要求:

 a.所有基础的接口都要录制全

 b.提前设计好要覆盖的场景,录制用例时,不要做多余的操作

 c.放入指定的用例存放目录

将har文件转换成yaml用例或者pytest用例

配置好ini文件

运行项目

  • 本地执行

1e7a556bdec979ac720d056311721874.png

  • 配置到jenkins job中运行

458f508a99db05d37a6818caaa9fdf45.png

4、pytest+requesty

①简介

Pytest是Python的一种第三方单元测试框架,全功能且非常成熟,同自带的Unittest测试框架类似,相比于Unittest框架使用起来更简洁,效率更高。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

②优缺点

优点:

  •  能够支持简单的单元测试和复杂的功能测试

  •  pytest具有丰富的插件生态,并且可以自定义扩展

  •  可以很好的和jenkins集成

  •  report框架----allure 也支持了pytest

  •  自动识别测试模块和测试函数

  •  支持参数化

  •  模块化夹具用以管理各类测试资源

  •  对 unittest 完全兼容

  •  社区繁荣,文档丰富,文档中有很多实例可以参考

缺点:

  •  学习成本高

③使用要求

  •  对pytest框架有基本了解

  •  对request有基本了解

  •  要求python基础

  •  了解封装

  •  了解虚拟环境

④适用业务

 项目接口多,但是入参大同小异

 大部分接口都做了鉴权

⑤环境依赖

 python V3.9以上

 pycharm

 Anacanda

⑥框架实现功能

a.测试类基类封装:基类实现了所有测试case通用的方法如打印请求/响应、日志管理、断言等,所有测试case类继承基类

b.统一请求封装:

  • 全局维护一个session对象,自动实现cookie/session管理功能,无需每个接口单独进行鉴权

  • 接口通用参数提取,无需每个接口单独处理。如base_url、referer、headers处理,ssl处理等

  • 提供全局统一发起请求方法,屏蔽不同请求方法的底层实现细节

c.配置化实现:通过全局配置文件,实现公共参数管理

d.参数化实现:测试用例脚本与测试数据分类,通过yaml进行用例管理

e.公共util:实现断言、日志管理、数据库驱动、邮件封装、文件读取等

举例说明

以有钱联盟小程序为例,在postman中进行接口测试时,所有的接口都需要在header中封装cookie 和 referer,即使在环境变量中实现了参数化可以统一管理,但这个接口添加仍然很繁琐。

ad8258af43012b4c46448084d4d1ca0f.png

转化成自动化接口测试脚本,以某个接口为例,封装前的代码如下: 

95d856b200cd75a65431f737d7cec9ec.png

封装后如下,所有的接口case都是统一的一套代码

726cadd9d89d7de52e14b9f5f0204f04.png

只需要每个接口单独实现yaml用例即可

bf875ed0e56bca21e3ea60f321ceca66.png

⑦应用步骤

a.用例要求:使用yaml编写测试用例,用例需要包含基本字段,如name、des、request、validata

b.准备运行配置ini文件:主要包含用例路径、用例自动识自定义前缀、用例分组、运行参数设置等

c.准备项目配置ini文件:主要包含公共参数的全局录入、日志路径及格式、数据库连接信息等

d.运行项目

e818d0c1e4979770023ba05d18f4064c.png

五、总结

没有最好的框架,只有最合适的框架。

根据项目特点、技术栈、业务需要、迭代频率、组员技术水平等,综合进行自动化接口测试框架的选择,降低接入成本 和 维护成本,才能做好自动化测试的持续性。

自动化系列二将对自动化UI框架进行对比介绍。

相关文章:

接口自动化框架对比 | 质量工程

一、前言 自动化测试是把将手工驱动的测试行为转化为机器自动执行,通常操作是在某一框架下进行代码编写,实现用例自动发现与执行,托管在CI/CD平台上,通过条件触发或手工触发,进行回归测试&线上监控,代替…...

谷歌浏览器network error解决方法

很多用户在使用谷歌浏览器时候会出现network error网页提示,很多用户不知道该如何处理这一问题,其实解决方法不止一种,小编整理了两种谷歌浏览器network error解决方法,一起来看看吧~ 谷歌浏览器network error解决方法&#xff1…...

自动化测试如何做?接口自动化测试框架必备的9个功能,测试老鸟总结...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 当你准备使用一个…...

ANR原理篇 - ANR原理总览

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言ANR流程概览ANR触发机制一、service超时机制二、broadcast超时机制三、provider超…...

新版Mamba体验超快的软件安装

在一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移中详细介绍的conda的基本使用和遇到问题的解决方式,也提到了mamba作为一个替代工具,可以很好的加速conda的solving environemnt过程。但有时也会遇到一个很尴尬的问题…...

LDAP配置与安装

LDAP配置与安装 一、安装LDAP1、安装OpenLDAP及相关依赖包2、查看OpenLDAP版本3、配置OpenLDAP数据库4、设置OpenLDAP的管理员密码5、修改配置文件5.1. 修改{2}hdb.ldif文件5.2. 修改{1}monitor.ldif文件5.3. 修改{-1}frontend.ldif文件 6、验证LDAP的基本配置7、修改LDAP文件权…...

1-Linux环境安装JDK

Linux环境安装JDK 准备: ① Linux 环境 本文中Linux环境为 CentOS Linux 7 可使用以下命令查询 linux 系统版本: hostnamectl② 准备JDK包 进入官网 https://www.oracle.com/java/technologies/downloads/#java17下载对应jdk包 此处使用以前下载的旧…...

通胀数据回落助金价小幅回升

现货黄金窄幅震荡,目前交投于2032.92美元/盎司附近。隔夜美国通胀数据弱于市场预期,市场对美联储6月份加息预期降温,美元指数走弱,金价一度冲高至2050关口附近,不过,随后金价回吐全部涨幅,并一度…...

正则表达式的基本语法以及技巧和示例

正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它使用特定的语法规则来描述和匹配字符串。在实际应用中,正则表达式可以用于搜索、替换、验证和分割文本数据。本文将详细解释正则表达式的语法和常用的使用示例。 …...

蓝牙耳机怎么挑选?小编分享2023畅销蓝牙耳机排行榜

蓝牙耳机怎么挑选?蓝牙、音质、续航、佩戴是蓝牙耳机选购时最重要的四大维度,这几年随着技术的成熟体验有了很大改善,但挑选的时候仍然要仔细对比,不然容易踩雷。小编根据销量整理了蓝牙耳机排行榜,一起看看最受消费者…...

Linux快照太有趣了!

1.首先介绍一下什么是Linux快照 VMware 的菜单栏中有虚拟机快照这个选项,形象来说快照就相当于一个备份文件,记录的是虚拟机运行到某一节点时的状态,在虚拟机的使用过程中如果发生了意外,比如系统崩溃或系统异常,此时…...

【改进粒子群优化算法】自适应惯性权重粒子群算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

ROS 下 激光扫描仪 YDLidar-G4 使用

环境配置: ubuntu20.04 LTS ROS noetic 编程工具:vs code,远程通过ssh访问 扫描仪:YDLidar-G4 YDLidar驱动: YDLidar SDK YDLidar ROS 功能包 此环境包含树莓派,以下过程在树莓派3B上测试通过&#xff0c…...

智能边缘:数字化时代的关键战略之一

随着物联网、云计算和人工智能等技术的快速发展,智能边缘已经成为了许多企业和组织中的重要部分。智能边缘旨在将物联网设备、应用程序和数据存储集成到一个统一的、移动的计算环境中,以提高效率、降低成本并增强数据安全性。在本文中,我们将…...

EasyRecovery16中文最新版电脑数据恢复软件下载使用教程

EasyRecovery如果需要使用它来恢复数据,请注意,尤其是当需要恢复的数据文件非常重要时,建议使用软件EasyRecovery以保障数据安全。共有三个版本,分别是个人版、专业版、企业版,这三种都可以免费下载并使用,…...

什么是鉴权?这些postman鉴权方式你又知道多少?

一、什么是鉴权? 鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据。发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并返回所需数据。通俗的讲就是一个门禁,您想要进入室内,必须通过…...

最新的经典mysql面试题及答案

互联网产品必然是需要有架构的,架构包含接入层、储蓄层、逻辑处理等等,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。而一提到储蓄层必然就要说数据库了,对于数据库的掌握也是软件工程师面试时…...

算法修炼之练气篇——练气十九层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…...

记录一次Windows7操作系统渗透测试

#本文档仅用于实验,请勿用来使用恶意攻击! 《中华人民共和国网络安全法》中,恶意破坏计算机信息系统罪在第二十七条被明确规定,规定内容为: 第二十七条 任何单位和个人不得为达到破坏计算机信息系统安全的目的&#x…...

承诺协议:定义 构造

文章目录 安全性定义方案构造基于 OWP 存在性基于 DL 假设基于 OWF 存在性基于 DDH 假设 总结 安全性定义 承诺协议(Commitment Scheme)是一个两阶段的两方协议。一方是承诺者(Committer) C C C,另一方是接收者&#…...

二、easyUI中的layout(布局)组件

1.layout(布局)组件的概述 布局容器有5个区域:北、南、东、西和中间。中间区域面板是必须的,边缘的面板都是可选的。每个边缘区域面板都可以通过拖拽其边框改变大小,也可以点击折叠按钮将面板折叠起来。布局可以进行嵌…...

MySQL---聚合函数、字符串函数、数学函数、日期函数

1. 聚合函数 数据准备: create database mydb4; use mydb4;create table emp(emp_id int primary key auto_increment comment 编号,emp_name char(20) not null default comment 姓名,salary decimal(10,2) not null default 0 comment 工资,department char(20…...

边缘计算盒子有哪些?边缘计算应用场景

边缘计算(Edge Computing)是一种分布式计算模型,旨在将数据处理和计算功能从中心数据中心移到数据源附近的边缘设备上。它的目标是在接近数据生成的地方进行实时数据处理和分析,减少数据传输延迟和网络拥塞,提高应用程…...

Linux内核(十四)Input 子系统详解 IV —— 配对的input设备与input事件处理器 input_register_handle

文章目录 input_handle结构体详解配对的input设备与input事件处理器实例input核心层对驱动层和事件层之间的框架建立流程图 本文章中与input子系统相关的结构体可参考input子系统结构体解析 input函数路径:drivers/input/input.c input_handle结构体详解 input_ha…...

Vue2.x源码解析(三)

Platform 函数 Platform 函数是用于与各种浏览器和平台进行交互的函数,它为 Vue 提供了跨平台的支持,例如浏览器、Node.js 等。Platform 函数提供了一些常用的工具和配置项,例如事件的托管、资源请求和异步更新等。下面是 Platform 函数的伪…...

全面理解守护进程的基础概念,以及如何创建一个守护进程(系列文章第三篇)

前言 这个系列的文章有四篇,其目的是为了搞清楚: 进程,shell,shell进程,终端,控制终端,前台进程,后台进程,控制进程,前台进程组,后台进程组&#…...

Leetcode刷题日志5.0

目录 前言: 1.两数相加 2.无重复字符的最长子串 3.整数反转 4.删除链表的倒数第 N 个结点 前言: 今天我又来继续分享最近做的题了,现在开始进入我们快乐的刷题时间吧!(编程语言Python3.0,难度&#xf…...

母亲节:向世界上最伟大的母爱致敬

在这世间众多的亲情关系中,有一种关系无与伦比,毫不费力地凌驾于其他任何已知的地球关系之上。这种非凡的关系就是母亲与子女之间的关系。 母亲对家庭无尽的爱、奉献和忠诚使这份感情无价。为了向全球所有母亲表示敬意,母亲节在世界46个国家庆…...

Springboot +Flowable,各种历史信息如何查询(二)

一.简介 正在执行的流程信息是保存在以 ACT_RU_ 为前缀的表中,执行完毕的流程信息则保存在以 ACT_HI_ 为前缀的表中,也就是流程历史信息表。 假设有一个流程,流程图如下: 当这个流程执行完毕后,以 ACT_RU_ 为前缀的…...

DataX下载安装使用

文章目录 01.Clickhouse到HBase(Phoenix)数据导入 DataX介绍下载执行同步的组件配置数据同步查看官方读写配置样例创建Hbase和Phoenix表创建ClickHouse表写入ClickHouse测试数据编写ClickHouse2Hbase配置文件执行同步命令 拓展ClickHouse同步到MySQL配置文件 01.Clickhouse到HB…...