美文网首页
jython使用xlrd读取表格传递给参数给jmter变量乱码

jython使用xlrd读取表格传递给参数给jmter变量乱码

作者: Kingtester | 来源:发表于2020-06-16 19:01 被阅读0次

最近在使用jmeter做一个自动化的接口测试,但是遇到了一个问题,python代码提取的变量值传给jmeter以后,是乱码的,即便加了后置处理器也无效,如下图:

###############################################获取第2页的检测站调度配置###########################################################
table = workbook.sheet_by_index(1)
name = table.name
#这个sheet的总行数
rowNum = table.nrows

lines=[]
xiangmus=[]
for i in range(0,rowNum):           #遍历每一行
    if table.row_values(i)[4] !='' and table.row_values(i)[4] !=u'检测项目' :          #对列4判断   # u就可以转义中文
        lines.append(table.row_values(i)[1])         #将第2列的值插入到这个数组中,其实就是线名称的数组
        xiangmus.append(table.row_values(i)[4])  
print('***')        

A = 1
for i in xiangmus:
    vars.put('xiangmu' +  str(A),str(i))
    A = A +1

这段代码是我从表格里面提取数据,把数据放在数组里,然后遍历,然后参数化,但是,我们看结果树:


image.png

很不给力,乱码,我们尝试了后置处理器试试:


image.png image.png

还是不行:


image.png

我们把数组输出一下把:


image.png
image.png

看到这里我们怀疑这里是编码的问题,于是百度了很久,尝试了很久,使用以下方法可以解决,但是我不知道是什么原理:

for i in xiangmus:
    i = str(i).encode('raw_unicode_escape').decode('utf-8')
    vars.put('xiangmu' +  str(A),i.decode('unicode_escape'))
    A = A +1

再次运行:


image.png

完美解决。

这里希望有大咖解释一下到底是什么愿意。谢谢

相关文章

网友评论

      本文标题:jython使用xlrd读取表格传递给参数给jmter变量乱码

      本文链接:https://www.haomeiwen.com/subject/tjgrxktx.html