补充用法:
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}也是存的是什么类型,取的就是什么类型
接口提取参数,提取值类型和原值一致,不会自动转为字符串,无需转换