【最佳实践】MeterSphere 各个场景数组/列表使用差异对比


Administrator
飞致云 发布于 2023-01-17 / 513 阅读 / 0 评论 /
补充用法:1、获取csv文件行长度获取 csv 行数的 python 代码:import syssys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")filename=r'/o

补充用法:

1、获取csv文件行长度

获取 csv 行数的 python 代码:

import sys
sys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")

filename=r'/opt/metersphere/data/body/7d1c07da-d11_11.csv'
total = sum(1 for line in open(filename))-1
log.info('-------'+str(total));

vars.putObject("num",total);

获取 csv 行数的 beanshell 代码:

import java.io.BufferedReader;
import java.io.FileReader;

BufferedReader br=new BufferedReader(new FileReader("/opt/metersphere/data/body/e7228944-541_name.csv"));

String tmpStr="";
int rowCount=0;

while(tmeStr=br.readLine()!=null){
    rowCount++;
}

int num = rowCount-1;
vars.putObject("num",num);

log.info("CSV文件数据的行数:"+num);

2、数据库查询数据取值进行参数化

①按结果存储后,采用__BeanShell函数获取值,其中index是通过添加计数器count获取的;

${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("account"))}

按结果存储后,获取第一行的count字段value值:${__BeanShell(vars.getObject("result").get(0).get("account"))}

②按列存储后,采用__V函数拼接

{__V(account _{index})}

注意:

存放数组变量需要使用vars.putObject(),vars.put()只能存放字符串;

3、变量类型说明

场景变量或环境变量设置的变量存的是什么类型,取的就是什么类型

vars.putObject后${xxx}也是存的是什么类型,取的就是什么类型

接口提取参数,提取值类型和原值一致,不会自动转为字符串,无需转换



是否对你有帮助?