社区首页 >问答首页 >如何确保UIAutmator2的端口8200..8299在杀死Appium后被释放?

如何确保UIAutmator2的端口8200..8299在杀死Appium后被释放?
EN

Stack Overflow用户
提问于 2021-03-01 04:19:11
回答 1查看 1.8K关注 0票数 1

我在Windows机器上运行Appium 24/7来执行自动化测试。我在一个带有Android 10的仿真器上通过AVD运行这些测试。对于我的测试,我给出了正确的功能并在功能上运行出色。但经过几个小时/天之后,我得到了以下错误:

UnknownError: An unknown server-side error occurred while processing the command. Original error:*Cannot find any free port in range 8200..8299}. Please set the available port number by providing the systemPort capability or double check the processes that are locking ports within this range and terminate these which are not needed anymore at getResponseForW3CError at asyncHandler.

在执行我的代码时,我确保try中的try执行AppiumDriverLocalService.stop();方法来杀死Appium。我的感觉是,这在某种程度上并没有释放UIAutomator2的任何端口(您可以配置这些端口,但我还没有通过systemPort功能进行配置)。

代码语言:javascript
代码运行次数:0
复制
    } finally {
        driver.closeApp();
        service.stopServer();
        System.exit(0);
    }

为什么在停止服务后,Appium不释放范围为8000-8299的UIAutomator2端口?

  • Android调试桥版本1.0.40
  • Appium版本1.20.2
  • Android 10

我知道关于adb命令adb -s $UDID forward --remove-all,但这解决了真正的问题,我不想每次都执行

更新-Fix2-3

我已经通过更改finally子句来执行以下方法来解决这个问题:

代码语言:javascript
代码运行次数:0
复制
    } finally {
        AndroidDriver.quit();
        AppiumDriverLocalService.stopServer();

为了释放端口8200.8299,必须退出AndroidDriver,因为UIAutomator2是与此链接的。AppiumDriverLocalService将杀死/转发/释放此端口和UIAutomator2,之后我可以自由地停止服务器:

[ADB] Removing forwarded port socket connection: 8203

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-01 06:17:18

这个问题是你问题的一个很好的例子。正如你所看到的,Appium团队正在关闭它,因为它不是一个Bug。

原因很明显: Appium不负责管理端口,它依赖于您的系统在所需的范围内(根据Appium代码)有一些免费的。

systemPort用于连接到appium-uiAutomator2-服务器,默认为8200。基本上,Appium为appium-uiAutomator2-服务器从8200到8299之间选择一个端口。但是,在并行运行测试时,必须调整端口以避免冲突。如果没有,那么在99%的默认情况下,您应该是安全的。

重新启动系统(假设它将清除端口)并运行测试。在关闭会话时检查Appium服务器日志中的任何错误。这可能是因为该问题与亚行设置或权限问题有关,而且UI2服务器没有正确停止。

如果是这样,端口仍在使用中。也不是Appium来处理清理的问题。我不确定你提到的亚行命令是否是一个很好的100%保证的方法。我只想添加一个shell脚本,在Appium服务器开始清理8200-8299范围内的端口之前执行该脚本,然后忘记这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66422013

复制
相关文章
R中轻松绘制南丁格尔图
R语言数据分析指南
2023/09/29
3090
R中轻松绘制南丁格尔图
「R」使用forestplot绘制森林图
森林图常见于元分析,但其使用绝不仅如此,比如我现在想要研究的对象有诸多HR结果,我想要汇总为一张图,森林图就是个非常好的选择。ggpubr包提供的森林图是针对变量分析绘图,我也尝试使用了metafor包的forest画图函数,但太灵活了,我除了感觉文档画的不错,但实际使用却很难得到想要的结果。
王诗翔呀
2020/07/02
8.2K0
R中优雅的绘制物种冲积图
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的除系列课程外的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询。
R语言数据分析指南
2023/06/12
7730
R中优雅的绘制物种冲积图
R中优雅的绘制物种冲积图
R语言数据分析指南
2023/08/18
2830
R中优雅的绘制物种冲积图
R中优雅的绘制环状sina图
❝在R中创建sina图使用geom_sina函数,sina图是一种用于显示单个分类变量的每个观测值的图形。它与箱线图和小提琴图类似,但是它显示了每个单独的数据点,这可以提供关于数据分布的更多信息。 ❞
R语言数据分析指南
2023/09/27
3480
R中优雅的绘制环状sina图
「R」使用NMF包绘制热图
学习文档: https://cran.r-project.org/web/packages/NMF/vignettes/heatmaps.pdf
王诗翔呀
2020/07/03
2.9K0
如何在R中绘制树图(TreeMap)
本文介绍了如何利用R语言中的Treemap函数绘制树图,并给出了一个实例,包括使用安装包、设定颜色范围、边框颜色、节点大小、填充颜色等参数。同时还介绍了两种方法,一是通过aggregate函数对数据进行分组,二是通过手动设置index和vSize、vColor、type等参数来绘制树图。
Erin
2018/01/09
5.3K0
如何在R中绘制树图(TreeMap)
使用R语言绘制SCI插图云雨图
我们使用r语言中ggplot2包绘制云雨图,云雨图可以看做是核密度估计曲线图、箱线图和抖动散点图的组合图表。我们可以使用自定义的半小提琴函数geom_flat_volin()、箱型图函数geom_boxplot和抖动散点图函数geom_jitter()叠加实现。
你像时光唯美i
2022/12/28
1K0
使用R语言绘制SCI插图云雨图
R中轻松绘制树状热图的若干方法
R语言数据分析指南
2023/08/18
4810
R中轻松绘制树状热图的若干方法
R 热图绘制heatmap①
R.package heatmap():用于绘制简单热图的函数 heatmap.2():绘制增强热图的函数 d3heatmap:用于绘制交互式热图的R包 ComplexHeatmap:用于绘制、注释和排列复杂热图的R&bioconductor包(非常适用于基因组数据分析) 首先使用ggplot2画简单热图 data <- as.data.frame(matrix(rnorm(9*10),9,10)) rownames(data) <- paste("Gene", 1:9, sep="_") colnam
用户1359560
2018/08/27
1.1K0
R 热图绘制heatmap①
R语言绘制Circos图
Circos图加拿大的生物信息科学家 Martin Krzywinski 开发的,最初主要用于基因组序列相关数据的可视化。现在越来越多的领域把Circos图引入其中。今天我们介绍在R语言中如何绘制Circos图。
一粒沙
2019/07/31
5.8K0
R EnhancedVolcano 绘制火山图
火山图是用于差异表达分析结果可视化的一种有效方法。今天,我们来介绍一个用于增强火山图绘制的强大 R 包:EnhancedVolcano ,该包拥有强大的绘图功能,用户可以简单的通过设置颜色、形状、大小和阴影等参数定义不同的绘图属性,此外通过可以通过添加连线的方式有效避免数据点之间的重叠现象。使用 EnhancedVocalno 包绘制的火山图基本可以直接用于文献发表,可以说非常简单又实用的一款神器了。
王诗翔呀
2020/07/06
6.3K0
R EnhancedVolcano 绘制火山图
如何使用 Python 只删除 csv 中的一行?
我们将使用 drop() 方法从任何 csv 文件中删除该行。在本教程中,我们将说明三个示例,使用相同的方法从 csv 文件中删除行。在本教程结束时,您将熟悉该概念,并能够从任何 csv 文件中删除该行。
很酷的站长
2023/08/11
8280
如何使用 Python 只删除 csv 中的一行?
R绘制网络图
对于网络图,其实我们并不陌生,用的比较普遍的是Cytoscape这个软件。不过,我们今天的主角是R包---igragh。相比Cytoscape,igragh的便利之处就是你不用趴在电脑上很痛苦的去一一调整节点的大小,颜色等属性。接下来,我就开启小白学习之旅了。
生信交流平台
2020/08/05
2K0
R EnhancedVolcano 绘制火山图
火山图是用于差异表达分析结果可视化的一种有效方法。今天,我们来介绍一个用于增强火山图绘制的强大 R 包:EnhancedVolcano ,该包拥有强大的绘图功能,用户可以简单的通过设置颜色、形状、大小和阴影等参数定义不同的绘图属性,此外通过可以通过添加连线的方式有效避免数据点之间的重叠现象。使用 EnhancedVocalno 包绘制的火山图基本可以直接用于文献发表,可以说非常简单又实用的一款神器了。
章鱼猫先生
2021/10/15
1.3K0
R EnhancedVolcano 绘制火山图
R语言绘制箱图
箱图 简单点数就是像一个箱子的图,用于表征数据的分布。 百度定义:箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的最大值、最小值、中位数和两个四分位数;然后, 连接两个四分位数画出箱子;再将最大值和最小值与箱子相连接,中位数在箱子中间。 数据 使用R自带的数据 代码 导入数据,不想解释各行各列
DrugScience
2021/02/04
1.2K0
R语言绘制箱图
「R」R传统图形绘制多图
mfrow 和 mfcol 都由 2 个数字指定,一个表示行数、一个表示列数。如果使用 mfrow,那么图像区域会被按行依次使用;如果使用 mfcol,那么图像区域会按列依次使用。
王诗翔呀
2020/07/06
7210
「R」R传统图形绘制多图
R 热图绘制heatmap②
使用pheatmap包绘制热图 一般而言,pheatmap较heatmap.2等更为简洁以及易于理解,对于初学者而言是一款不错的热图绘制软件。 rm(list=ls()) setwd("E:\\Rwork") library(pheatmap) #创建数据集test测试矩阵 test = matrix(rnorm(400), 20, 20) colnames(test) <- paste("sample",1:20,sep = "") rownames(test) <- paste("ge
用户1359560
2018/08/27
1.4K0
R 热图绘制heatmap②
R语言绘制森林图
在Meta分析中森林图比较常见,其主要是是以统计指标和统计分析方法为基础,用数值运算结果绘制出的图型。它在平面直角坐标系中,以一条垂直的无效线(横坐标刻度为1或0)为中心,用平行于横轴的多条线段描述了每个被纳入研究的效应量和可信区间,用一个棱形(或其它图形)描述了多个研究合并的效应量及可信区间。它非常简单和直观地描述了Meta分析的统计结果,是Meta分析中最常用的结果表达形式。
一粒沙
2019/07/31
8.1K0
Python使用csv模块读写csv文件
有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
Python碎片公众号
2021/02/26
3.5K0
Python使用csv模块读写csv文件

相似问题

用R从多个.csv文件绘制多个图

24

使用csv在R上绘制多列图

11

从csv文件中绘制蜡烛图

13

绘制[r]中列和行的循环图

10

使用matplotlib从CSV文件中绘制实时图形图

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文