我已经编写了一个groovy脚本来从excel表中读取数据,这很好用。 现在我在excel中有两行。我希望row1转到request1,row2转到request2。
下面是我的常规脚本
import org.apache.poi.xssf.usermodel.*
import org.apache.poi.xssf.usermodel.XSSFWorkbook
def fs = new FileInputStream(“C:\\Users\\singh532\\Desktop\\try1.xlsx”)
def wb = new XSSFWorkbook(fs)
def ws = wb.getSheet(“Sheet1”)
def r = ws.getPhysicalNumberOfRows()
for(def i=0; i<r; i++)
{
def row = ws.getRow(i)
def c = row.getPhysicalNumberOfCells()
for (def j=0;j<c;j++)
{
def cell = row.getCell(j)
def d = cell.getStringCellValue()
log.info d
}
}
答案 0 :(得分:1)
这只是为了提供一些如何完成的想法
我使用负载测试多次运行测试步骤(对于多行数据)
下面是测试套件的结构
测试步骤
COL*
属性值替换为与当前运行迭代对应的CSV行中的值。 public static class Const{
public static ArrayList data=new ArrayList();
static{
//load data file statically
new File('./my-data.csv').splitEachLine(","){
data.add(it);
}
}
}
//get current run number and calculate row of data from it
int row=context.getProperty( 'TotalRunCount');
if(row==null)row=0;
row=row%Const.data.size();
//substitute properties with ones from file
for(int i=0; i<Const.data[row].size(); i++){
context.setProperty('COL'+(i+1), Const.data[row][i] );
}
<a>
<b>${=context.getProperty('COL1')}</b>
<c>${=context.getProperty('COL2')}</c>
...
</a>
注意:数据文件中的行数应与负载测试中的总运行限制相对应。如果
total runs
大于文件中的行数,则会重复测试。