首页 新闻 搜索 专区 学院

Java调用getRuntime().exec()执行Python脚本后无法读取Excel中的数据

0
悬赏园豆:120 [已解决问题] 解决于 2018-02-28 14:20

  公司的测试平台通过Process process = Runtime.getRuntime().exec("python " + "脚本地址")执行python测试脚本。

  执行普通的python脚本没有问题,但是当python脚本中引入import xlrd,用Excel表格中获取数据时,通过平台以上的方法就无法正常运行(生成的日志为空文件)。请教各位大神问题所在。

  另外,单独在IDE中运行从Excel表格中获取数据的python脚本正常。粘部分python代码如下:

def getColumnIndex(table, columnName):
columnIndex = None
for i in range(table.ncols):
if (table.cell_value(0, i) == columnName):
columnIndex = i
break
return columnIndex

def readInputListByColumnName(fileName, sheetName, columnName):
workbook = xlrd.open_workbook(fileName)
sheet = workbook.sheet_by_name(sheetName)
index = CaseBase.getColumnIndex(sheet, columnName)
inputlist = sheet.col_values(index, start_rowx=1)
return inputlist

一只吃青菜的鸟的主页 一只吃青菜的鸟 | 初学一级 | 园豆:53
提问于:2018-02-06 17:19

有搞自动化测试的大侠帮忙解答一下吗?

一只吃青菜的鸟 4年前
< >
分享
最佳答案
2

报什么错误? 建议脚本里加上文件是否存在check, 估计是路径问题

收获园豆:120
风云力 | 小虾三级 |园豆:541 | 2018-02-06 17:34

脚本里所有引用 的包和脚本都放在同一级的目录下.通过平台执行测试引用excel表的python脚本后,没有日志生成.

一只吃青菜的鸟 | 园豆:53 (初学一级) | 2018-02-06 17:48

@一只吃青菜的鸟: 路径都是相对路径? 还是绝对路径。 主要用来确认路径问题。 后面再看一下权限问题

风云力 | 园豆:541 (小虾三级) | 2018-02-06 17:51

@风云力: 路径是相对路径,脚本添加上传到服务器指定的位置,与脚本同级的有一个基类包,基类包里含有相关的excel文件。脚本中访问excel文件路径为"基本类包/excel.xlsx"

一只吃青菜的鸟 | 园豆:53 (初学一级) | 2018-02-06 23:07

@风云力: 后来把调用excel的路径改为绝对路径就好了,还是谢谢你!

一只吃青菜的鸟 | 园豆:53 (初学一级) | 2018-02-28 14:19
其他回答(1)
0

   我也是遇到这个问题,把 csv 的路径改成绝对路径就好了,很是感谢

躲猫猫的猫 | 园豆:202 (菜鸟二级) | 2018-03-16 19:11

不客气,共同学习~

支持(0) 反对(0) 一只吃青菜的鸟 | 园豆:53 (初学一级) | 2018-04-20 15:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册