Python相关环境变量配置和模拟手机app登录

news2024/12/25 9:19:41

【java环境变量配置】

接着,打开系统->高级系统设置->环境变量。新建一个JAVA_HOME

C:\Program Files\Java\jdk1.8.0_201(这里是你的安装路径,最好复制粘贴)

然后在Path下添加

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

然后打开cmd,输入javac,若出现以下信息,则证明你成功了一半。

输入java,若出现以下信息,则证明java环境变量配置成功了。

接下来我们开始测试。在F盘新建一个java文件。我的是debug.java。

然后,切换到F盘。分别执行

 
  1. javac debug.java

  2. java debug

然后成功输出10.java环境检验成功。

【appium配置】

一、Appium安装:

1)安装Python

2)安装java(运行appium server需要)

3)  安装appium-client:  pip install Appium-Python-Client

4)  安装appium –desktop:

官网下载appium-desktop地址为:Release v1.15.1 · appium/appium-desktop · GitHub

 安装成功后桌面会有一个紫色的图标,打开Appium,配置默认点击“start server”启动appium-desktop。

5)  安装Andorid SDK:

     下载地址:https://www.androiddevtools.cn/,网页下拉到底部的SDK Tools位置处,选择对应系统版本即可。

下载完成后解压,cmd窗口进入tools\bin目录,输入命令行执行安装组件:sdkmanager "platfrom-tools" "platforms;android-28" "build-tools;28.0.3" 

安装过程中,会弹出提示框Accept?(y/N)   一直yes即可。

二、Andorid SDK设置环境变量:

           1)去电脑系统属性--环境变量--系统变量里  创建ANDROID_HOME   值设置为SDK根目录的路径;

           2)将sdk\plafrom-tools\加入到环境变量path中;

           3)验证是否设置成功:运行cmd打开命令提示窗,输入where adb 能够显示出其所在路径即OK;

           4)查看Android_home的环境变量是否正确,可以在tools/bin目录下输入echo %android_home% 能够显示出android sdk安装路径即OK;

遇到问题

  1. 将Android studio与夜神模拟器连接,在夜神模拟器的bin路径下,adb devices,此时遇到当前夜神模拟器的adb版本与android 的SDK版本不一致的错误,

解决办法

  1. 把AndroidSDK\platform-tools下的adb.exe赋值到桌面上,重命名为nox_adb.exe
  2. 把夜神模拟器下的nox_adb.exe修改为nox_adb_old.exe
  3. 把桌面上的nox_adb.exe拷贝到夜神模拟器下bin路径下
  4. 重启夜神模拟器

【问题】

在Android 真机上无法运行Appium inspector?Failed to create session

Appium连接真机启动步骤 (Appium版本为1.22.2)

1、 打开Appium desktop,找到已安装的Appium,名字为Appium Server GUI

打开后启动服务器

by the way:修改Appium菜单显示为中文的位置在这儿

View -》Languages -》zh-CN

2、 手机通过USB连接电脑,并开启开发者调试模式

3、 命令行下输入:adb devices 检查手机连接是否成功

出现有设备信息即代表连接成功,如下:

4、 打开Appium Inspector并配置常规参数,如下:

1、 远程路径:/wd/hub

2、 配置的参数为:

{

"platformName": "Android", //平台

"appium:platformVersion": "12", //android系统版本

"appium:deviceName": "测试机", //设备名称随便写

"appium:automationName": "UiAutomator2" //使用的自动化工具

}

这样按照网上的教程已配置好了,点击“启动会话”

啊噢。。。。。报错了

错误信息:

Failed to create session. An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command 'D:\\androidSDK\\platform-tools\\adb.exe -P 5037 -s f30a1e7b shell 'settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy'' exited with code 255'; Command output: Exception occurred while executing 'delete': java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2663) at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1635) at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1627) at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1598) at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:664) at android.content.ContentProvider.call(ContentProvider.java:2473) at android.content.ContentProvider$Transport.call(ContentProvider.java:521) at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:408) at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:282) at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97) at android.os.ShellCommand.exec(ShellCommand.java:38) at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:50) at

问题解决方法:

第一步:

配置参数中添加参数 "appium:ignoreHiddenApiPolicyError": true

点击“启动会话”,此时手机上会自动安装“Appium Settings”,需要手动去点击同意完成安装

此时我仍遇到了报错,经过查找一番,还漏掉了最重要的一步

第二步:

手机“设置”中搜索“禁止权限监控”,并打开它(设置->系统设置->开发者选项->禁止权限监控)

打开后再次点击“启动会话”,手机上的画面显示到了Appium inspector中即连接成功了

 【模拟夜神浏览器】】

1、

测试

先打开夜神模拟器,然后cmd进入到安装路径的bin目录下,分别执行如下命令:
adb.exe connect 127.0.0.1:62001 (用来链接模拟器,62001为夜神模拟器监听端口号,如果是其他模拟器,修改为其对应的监听端口号即可[常用Android模拟器的默认监听端口(转载)])
adb devices (用来显示已连接的设备)
如果显示如下,则配置成功:

在这里插入图片描述

直接使用Appium操控模拟器

前提

使用Appium时,需要用到两个参数: appPackgeappActivityappPackage是启动APP Package名称,也就是需要操控的App名称。 appActivity 是启动Activity名称,也就是启动App后的第一个界面。

以下是获取这两个值的方法: (以操控bilibli为例):

打开模拟器,然后打开bilibili,保持当前的运行界面(bilibili在最前面):

在这里插入图片描述
然后cmd输出命令:
adb shell dumpsys activity recents | find "intent={"

输出如下:

C:\Users\xupeng>adb shell dumpsys activity recents | find "intent={"intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000100 cmp=com.vphone.launcher/.launcher3.Launcher}intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10800100 cmp=com.android.settings/.FallbackHome}C:\Users\xupeng>

输出信息第一条就是屏幕最前面App(也就是bilibili)的信息,需要的是其中字段cmp的值:tv.danmaku.bili/.ui.splash.SplashActivity,/前的tv.danmaku.bili就是appPackge的值,/后的.ui.splash.SplashActivity就是appActivity的值。

步骤

1 打开Appium

运行Appium,界面如下:


在这里插入图片描述
点击Edit Configurations,配置JAVA_HOMEANDROID_HOME

在这里插入图片描述
由于在安装JDKAndroid Studio时已经设置了JAVA_HOMEE和ANDROID_HOME,它就直接能够取到相应的值。

2 点击Start Server按钮,启动监听

无需修改Host与Port,,点击Start Server,进入如下界面:

在这里插入图片描述
最后一行输出表示Appium启动成功并在端口4273进行监听。

3 点击Start Inspector Session按钮,配置相关信息

点击右上角最左边的Start Inspector Session,进入如下界面,然后在Automatic Server页面下输入相关参数:

在这里插入图片描述
其中,
platformNameAndroid(因为是Android模拟器),
platformVersion7.1.2(在模拟器的设置中的关于平板电脑中可以看到Android版本),
deviceName127.0.0.1:62001是模拟器的Ip地址+端口(前面已经介绍)。

4 点击Start Session按钮,操控模拟器

最后,点击Start Session按钮,Appium就开始操控模拟器打开bilibili,过程中会在模拟器中安装名为Appium Settings的App,当然这只会在不存在Appium Settings才会安装,接着就是等待过程,最后的呈现效果如下:

在这里插入图片描述
同时模拟器中也就呈现出相同的界面:

在这里插入图片描述

2、

这没什么好说的。只需注意安装路径,一路下一步即可。

安装后,进行以下简单修改:

  • 打开安装目录,进入bin目录(例如:D:\Nox\bin)

  • 在第3节安装的Android SDK中添加ADB的exe文件(例如我在D:\Android\SDK\platform tools目录下)复制到这个目录下,覆盖已有的ADB的exe文件

  • 删除目录_adb.exe文件的NOx,然后复制一份ADB Exe并重命名为nox_adb.exe

  • 启动模拟器

  • 从这个目录打开控制台,执行nox_adb.exe connect 127.0.0.1:62001,然后执行adb devices。看到以下信息表示成功

在模拟器中安装测试 apk 文件。这里以计算器为例,直接将apk文件拖入模拟器

! zoz100077](https://programming.vip/images/doc/2673e577cdd3d75dfb5d4f986b75b95a.jpg)

继续进入AAPT dump bake D:\apk\com。在刚才的控制台窗口中有道。计算器-2.0.0。 APK

其中D:\apk\com 有道。计算器-2.0.0。 Apk 是测试 APK 的完整路径。

可以看到安装包的信息已经打印出来了。把两个名字记在红框里,以后写测试脚本的时候用。

注意如果模拟器重启,需要在步骤5_adb中执行NOx。 exe连接127.0.0.1:62001 七。编写测试脚本并生成测试报告

1\。创建测试用例目录testcase,并在该目录下创建测试_app。 py文件

进口时间

导入单元测试

从 appium 导入 webdriver

类 MyTests(unittest.TestCase):

测试前要执行的方法

定义设置(自我):

所需_caps u003d {'platformName': 'Android', # 平台名称

'platformVersion': '4.4.2', #系统版本号

'deviceName': '127.0.0.1:62001', # 设备名称。如果是真机,在“设置->关于手机->设备名称”中查看

'appPackage': 'com.youdao.calculator', # apk的包名

'appActivity': 'com.youdao.calculator.activities.MainActivity' # 活动名称

}

self.driver u003d webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) # 连接 Appium

self.driver.implicitly_wait(8)

def test_calculator(self, tu003d500, nu003d4):

"""计算器测试"""

时间.sleep(3)

窗口 u003d self.driver.get_window_size()

x0 u003d window['width'] * 0.8 # 起始x坐标

x1 u003d window['width'] * 0.2 #结束x坐标

y u003d window['height'] * 0.5 # y坐标

对于范围内的 i (n):

self.driver.swipe(x0, y, x1, y, t)

时间.sleep(1)

self.driver.find\element\by\id('com.youdao.calculator:id/guide\button').click()

对于范围内的 i (6):

self.driver.find_element_by_accessibility_id('Mathbot Editor').click()

时间.sleep(1)

btn_xpath u003d '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.support.v4 .widget.DrawerLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout[3] /android.view.View/android.widget.GridView/android.widget.FrameLayout[{0}]/android.widget.FrameLayout'

self.driver.find_element_by_xpath(btn_xpath.format(7)).click()

self.driver.find_element_by_xpath(btn_xpath.format(10)).click()

self.driver.find_element_by_xpath(btn_xpath.format(8)).click()

时间.sleep(3)

测试后执行的方法

def 拆解(自我):

self.driver.quit()

2\。创建运行 Py 文件

导入我们

进口时间

导入单元测试

从 HTMLTestRunner 导入 HTMLTestRunner

测试_dir u003d './testcase'

发现 u003d unittest.defaultTestLoader.discover(start_diru003d'./testcase', patternu003d"test*.py")

如果 __name__ u003du003d "__main__":

报告_dir u003d './test_report'

os.makedirs(report_dir, 存在_oku003dTrue)

现在 u003d time.strftime("%Y-%m-%d %H-%M-%S")

报告_name u003d '{0}/{1}.html'.format(报告_dir,现在)

使用 open(report_name, 'wb') as f:

runner u003d HTMLTestRunner(streamu003df, titleu003d"测试报告", descriptionu003d"此测试报告包含超级计算机的简单测试")

runner.run(发现)

HTMLTestRunner是用来导出测试报告的,但是Python 3好像有问题,我在网上找了两个修改的支持Python 3的,

如有需要,您可以在本文末尾的示例项目中下载。

3\。运行 py 文件

程序运行后会在test_report目录下生成测试报告

在浏览器中打开就可以看到报表的内容,一个例子

而已。这一切都完成了。如果有空,可以添加Appium的使用,比如元素定位。希望这篇文章能够对自动化测试的初学者有所帮助。

项目示例下载地址 https://github.com/lixk/apptest

艾玛,我太啰嗦了。现在已经八点了,我还没有吃晚饭。我太饿了。今天我先到这里。

2019 年 5 月 21 日补充

如果配置与上述步骤一致,则没有问题。结果,它无法正常运行。那么问题可能出在模拟器配置中。下面添加了我这边的模拟器配置。

! swz 100101 swz 100102 swz 100100

代码中的'platform version':'4.4.2'是上图中的Android版本。

5【】.调试】
     打开夜神模拟器,cmd输入:adb devices,显示夜夜神模拟器的端口号信息。

C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:62001 device
 夜深模拟器中打开浏览器,cmd输入:adb shell。进入adb shell后输入:dumpsys activity | grep mFocusedActivity

C:\Users\Administrator>adb shell
x1q:/ # dumpsys activity | grep mFocusedActivity
  mFocusedActivity: ActivityRecord{ab87ba5 u0 com.android.browser/.BrowserActivity t7}
x1q:/ #
APP包名: com.android.browser

APP进程名:.BrowserActivity

打开Appium Server GUI,点击startServer后点击放大镜,下载元素查看器。下载地址:https://github.com/appium/appium-inspector/releases

安装成功后,appium inspector的Remote Host和appnium server 的Host设置为:127.0.0.1,Remote Path:/wd/hub,设置Desired Capabilities,如下图。点击startSession后连接并自动操作夜深模拟器。至此,调试成功。

注意:安卓模拟器在网络桥接模式下无法使用appium连接。

{
  "appium:platformName": "Android",   #平台名称
  "appium:platformVersion": "7.1.2",  #版本信息
  "appium:deviceName": "SM-G9810",    #设备型号
  "appium:appPackage": "com.android.browser",  #App包名
  "appium:appActivity": ".BrowserActivity"  #App进程名
}
 

【错误总结】

1、cmd中adb devives报错,退出各个可能占用的软件,并调试

2、报错不能verify,更新jdk版本,或者下载jar包

【记录】

aapt dump badging C:\Users\Administrator\Desktop\wycjjsq.apk

com.youdao.calculator
com.youdao.calculator.activities.MainActivity

adb shell dumpsys activity recents | find "intent={"

C:\Users\xupeng>adb shell dumpsys activity recents | find "intent={"intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=tv.danmaku.bili/.ui.splash.SplashActivity}intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000100
cmp=com.vphone.launcher/.launcher3.Launcher}intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10800100 cmp=com.android.settings/.FallbackHome}C:
\Users\xupeng>

{
  "platformName": "Android",
  "appium:platformVersion": "9",
  "appium:deviceName": "HJSGK19C18000009",
  "ignoreHiddenApiPolicyError": true
}

【夜游神】模拟器连接

{
  "platformName": "Android",
  "appium:platformVersion": "7",
  "appium:deviceName": "127.0.0.1:62001",
  "appium:ignoreHiddenApiPolicyError": true
}

模拟登录手机app界面

{
  "platformName": "Android",
  "appium:deviceName": "HWEVA",
  "appium:appPackage": "com.tencent.mm",
  "appium:appActivity": ".ui.LauncherUI"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode每日一题】——1493.删掉一个元素以后全为 1 的最长子数组

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 滑动窗口 二【题目难度】 中等 三【题目编号】 1493.删掉一个元素以后全为 1 的最长子数组 …

wx.request net::ERR_TOO_MANY_REDIRECTS

文章目录 问题解决方法一:请求头里添加Cookies方法二:使用weapp-cookie 问题 使用微信小程序开发者工具开发小程序项目时,wx.request 返回总是报 net::ERR_TOO_MANY_REDIRECTS wx.request发起一个get请求,一直重定向直到请求失败…

Java Web——Session实现购物车

实验名称: Session实现购物车 实验目的: (1)掌握什么是Cookie对象,掌握Cookie对象的使用 (2)掌握什么是Session对象,掌握Session对象的使用 (3)掌握使用…

弗雷歇distanceDTW(动态时间规整)算法(附部分代码)

1、理论知识 1.1 什么是弗雷歇距离,它是用来干什么的? 费雷歇distance是求两个序列匹配之后的最大距离,这里需要明确a)两个序列;b)匹配过程;c)最大距离的含义。 a)两个…

【java】 【Springboot】 开发通用审核流程服务模块

完全自研一个极其轻量级 通用审核流程服务 可以进行流程,节点配置,流程,节点审核人权限配置 批量审核,批量驳回,审核,驳回,批量退回第一步,退回第一步等操作 涉及数据库表单字段

OSPF最优路径选择

路由比较 1、内部区域>区域间路由>NSSA1>Nssa2 2、如果只有Ex1、Ex2或者Nssa1、nNssa2开销类型。则Ex1>Ex2或者Nssa1>Nssa2 3、如果Ex1、Nssa1,Ex2和Nssa2,Ex1和Nssa1优于Ex2和Nssa2 4、如果外部开销加上内部开销,Ex1和Nssa1一样,则Ex1和Nssa1相同负载分担 5、如果外…

CVE-2016-1000027安全漏洞分析和解决方案

文章目录 前言复现问题漏洞分析解决办法相关阅读 前言 CVE-2016-1000027 安全漏洞&#xff0c;该漏洞在5.x的最新版本(5.3.27)依然存在,官方未给出任何解决办法。在spring-web6.0之后&#xff0c;则不存在该漏洞。 受影响范围:spring-web<6.0 解决办法&#xff1a;升级到sp…

【机器学习】分类问题和Logistic回归算法详解

在阅读本文前&#xff0c;请确保你已经掌握代价函数、假设函数等常用机器学习术语&#xff0c;最好已经学习线性回归算法&#xff0c;前情提要可参考https://blog.csdn.net/weixin_45434953/article/details/130593910 分类问题是十分广泛的一个问题&#xff0c;其代表问题是&…

图表控件LightningChart JS v.4.1已经发布!引入虚线模式

LightningChart JS是性能最高的JavaScript图表库&#xff0c;专注于实时数据可视化。是Web上性能最高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用&#xff0c;从而实现高刷新率和流畅的动画。…

固态硬盘基础知识:M.2 NVMe PCIe SATA的含义及区别

SATA接口 固态硬盘开始流行于笔记本电脑上&#xff0c;使用SATA接口&#xff0c;尺寸与笔记本硬盘相同&#xff0c;为2.5英寸。 那个时候&#xff0c;如果台式机需要加装固态硬盘&#xff0c;需要使用硬盘架&#xff0c;将固态硬盘安装在硬盘架上&#xff0c;然后再安装与机箱…

5.2.3 IP数据报(一)IP数据报的格式

5.2.3 IP数据报&#xff08;一&#xff09;IP数据报的格式 我们知道要想实现全球范围的通信除了地址要统一之外&#xff0c;数据格式也要统一&#xff0c;所以就有了IP分组&#xff0c;或者被称之为IP数据报&#xff0c;下面我们来学习IP分组的格式。如图 总体来说一个IP分组…

JetBrains的Java集成开发环境IntelliJ 2023版本在Linux系统的下载与安装配置教程

目录 前言一、IntelliJ安装二、使用配置总结 前言 IntelliJ IDEA Ultimate是一款功能强大的Java集成开发环境&#xff08;IDE&#xff09;。它提供了丰富的功能和工具&#xff0c;可以帮助开发人员更高效地编写、调试和部署Java应用程序。注&#xff1a;已在CentOS7.9和Ubuntu…

带大家来认识下SUMIF函数

如果您需要在Excel表格中对特定条件下的数据进行求和&#xff0c;那么SUMIF函数是一个非常有用的工具。SUMIF函数允许您在满足指定条件的情况下&#xff0c;将符合条件的单元格的值相加起来。在本文中&#xff0c;我们将向您介绍如何使用SUMIF函数来处理您的表格数据。 如下图…

想定制鞋子?先给脚部建模吧!

最近灌篮高手的电影正在火热上映中&#xff0c;湘北大战山王的比赛从漫画搬上了大荧幕&#xff0c;看得人热血沸腾&#xff0c;直呼“爷青回”&#xff0c;恨不得马上换上球衣球鞋&#xff0c;再去球场上挥汗如雨一番。 灌篮高手 同时NBA的季后赛也在如火如荼的进行中&#xf…

Cmake学习记录(九)--使用Cmake交叉编译Android .so库

文章目录 一、前言二、使用NDK进行编译的相关代码四、使用交叉工具链进行编译四、参考链接 一、前言 目前Android编译.so的话使用Android Studio比较简单&#xff0c;但是有时候时候Android Studio的话还需要创建一个Android的项目&#xff0c;这里记录下脱离Android Studio单…

华为OD机试真题B卷 Java 实现【百钱买百鸡问题】,附详细解题思路

一、题目描述 公元五世纪&#xff0c;我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”&#xff1a;鸡翁一值钱五&#xff0c;鸡母一值钱三&#xff0c;鸡雏三值钱一。百钱买百鸡&#xff0c;问鸡翁、鸡母、鸡雏各几何&#xff1f; 现要求你打印出所有花一百元买一百…

2023-05-31-[音视频处理] FFmpeg使用指北1-视频解码

本文将详细介绍如何使用ffmpeg 4.4在C中解码多种格式的媒体文件&#xff0c;这些媒体文件可以是视频、视频流、图片&#xff0c;或是桌面截屏或USB摄像头的实时图片。解码文件后&#xff0c;还将每帧图片转换为OpenCV的Mat格式以供后续使用。 文章目录 1 基于ffmpeg的媒体文件解…

Java之旅(五)

运算符 算术运算符 加法&#xff08;&#xff09;减法&#xff08;-&#xff09;乘法&#xff08;*&#xff09;除法&#xff08;/&#xff09;取余&#xff08;%&#xff09;一元运算符 自增运算符&#xff08;&#xff09;自减运算符&#xff08;--&#xff09;变量前就先运…

基于Yarn搭建Flink

基于Yarn搭建Flink 1. 概述 1.1 Yarn 简介 Apache Hadoop YARN是一个资源提供程序&#xff0c;受到许多数据处理框架的欢迎。Flink服务被提交给 YARN 的 ResourceManager&#xff0c;后者再由 YARN NodeManager 管理的机器上生成容器。Flink 将其 JobManager 和 TaskManager…

Apache DolphinScheduler——开源大数据调度器神器(国人之光)

本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 1. 简 介 Apache DolphinScheduler(海豚调度),国人之光&#xff0c;是许多国人雷锋开源在Apache的顶级项目&#xff0c;主要功能就是负责任务的调度处理。 1.1 概 念 Apache DolphinScheduler是一个分布式去…