在 groovy 中如何将工作区路径作为文件传递给 XmlTestRunListener setReportDir?

问题描述 投票:0回答:1

项目目标:我正在尝试使用 XmlTestRunListener 和 InstrumentationResultParser 解析 adb am instrument -r log 以获取 jenkins 节点上的 xml。我正在使用类 InstrumentationResultParser 和 XmlTestRunListener 来完成这项工作。

问题:XmlTestRunListener 需要设置以文件为参数的报告目录。 现在,am instrument 日志位于 jenkins 代理节点上,如果我尝试传递 filePath,它将被引用到 master。如何为节点上的路径创建文件指针。

例如代码: (我需要将当前工作区节点作为文件传递,当前是给我一个指向我的 jenkins 控制器的指针,而我需要获取代理上的路径!)

def outputXmlDir = new File ("/opt/myworkspace") 
def listener = new XmlTestRunListener()
listener.setReportDir(outputXmlDir)
def parser = new InstrumentationResultParser("", listener)
parser.processNewLines("instrument.log")
parser.done() 

链接到 XmlTestRunListener(https://javadoc.io/static/com.android.tools.ddms/ddmlib/25.2.0/com/android/ddmlib/testrunner/XmlTestRunListener.html

真的很感激,如果我得到一些关于如何将工作区路径作为文件传递给 setReportDir 的指示! 谢谢你, 卡提克

尝试将字符串路径类型转换为文件。没用。

file groovy xml-parsing jenkins-pipeline jenkins-groovy
1个回答
0
投票

想出了一个解决方法。

所以由于我的管道代码在 jenkins 上并且它在主控器/控制器上执行,所以对文件系统的任何引用都是指控制器上的那个。

所以,我在代理上动态创建了一个groovy脚本,并访问了代理的文件系统。

© www.soinside.com 2019 - 2024. All rights reserved.