当前位置: 首页 > 知识库问答 >
问题:

如何在JMeter中运行Java代码并将vairables从Java代码传递到JMeter脚本

柴瀚昂
2023-03-14

我正在通过添加Beanshell预处理器读取xlsx文件。当我在Eclispe中运行代码时,它工作得很好。

import java.io.File;
import java.io.FileInputStream;

import java.io.IOException;
import java.util.Iterator;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class url {

    public static void main(String[] args) throws IOException {

        FileInputStream file=new FileInputStream(new File("C:\\temp\\project.xlsx"));

        XSSFWorkbook workbook=new XSSFWorkbook(file);
        XSSFSheet sheet=workbook.getSheetAt(0);
        Iterator<Row>rowIterator=sheet.iterator();

        int count=1;
        while(rowIterator.hasNext()){
            Row row=rowIterator.next();
            Iterator<Cell> cellIterator=row.cellIterator();
            while(cellIterator.hasNext()){
                Cell cell=cellIterator.next();
                String TextInCell=cell.toString();
                String cellContent1="Cricket";
                String cellContent2="Football";
                String cellContent3="F1";
                String cellContent4="Badminton";
                String cellContent5="Misslenous";

                if(TextInCell.contains(cellContent1)){
                    String var=cell.getRichStringCellValue().toString();
                    String Category = cellContent1;

                }else if(TextInCell.contains(cellContent2)){
                    String var=cell.getRichStringCellValue().toString();
                    String Category = cellContent2;

                }else if(TextInCell.contains(cellContent3)){
                    String var=cell.getRichStringCellValue().toString();
                    String Category = cellContent3;

                }else if(TextInCell.contains(cellContent4)){

                    String var=cell.getRichStringCellValue().toString();
                    String Category = cellContent4;
                    System.out.println(var + "----"+Category );

                }else{
                    String var=cell.getRichStringCellValue().toString();
                    String Category = cellContent5;

                }

            }

        }

    }


}

共有1个答案

车明贤
2023-03-14

>

  • Beanshell不是非常Java化的,您需要修改代码以匹配Beanshell约定:

    • 删除“class”和“main”方法
    • 迭代器
    • 中删除
    • 迭代器
    • 中删除
    • 显式强制转换对象,如Row Row=(Row)rowiterator.next();

  •  类似资料:
    • 我尝试在eclipse中运行下面的代码,发布在这里。 但它并没有被执行。它抛出以下错误: 注意:我还添加了来自lib/extjmetr安装文件的外部罐 代码:

    • 下面的代码从excel文件中打印内容(在eclipse中尝试过),但我无法使用Groovy在Jmeter3.1中运行它。 我抛出了一个错误: JSR223脚本中的问题JSR223采样器,消息:javax.script.脚本异常:org.codehaus.groovy.control.多重编译错误异常:启动失败 这是我的代码:

    • 问题内容: 我快要解决这个问题了。 下面是代码: 问题答案: 您的代码是正确的,我相信您不会收到异常,如果您使用进行阅读,则不会得到任何东西。 已经说过,现在命令是100%以这种方式执行,这是因为您正在回显某些内容,需要使用来将其读回。 检查以下示例,该示例将成功创建一个名目录并打印您正在回显的内容。为了将其放入日志文件,恐怕您可以使用“>”来完成它,您可能必须使用一些编辑器命令或使用Java创建

    • 这是我第一次在java中尝试python。我试图从我的代码中执行python脚本,如下所示。 但我有以下例外 无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件 我已经安装了python。我不确定为什么找不到该文件。我试着跟随这个链接,但它并没有解决我的问题。 提前谢谢。 编辑1 我尝试了“Viacheslav Vedenin”给出的示例代码,当我执行我

    • 问题内容: 从Java运行Unix命令非常简单。 但是可以从Java代码运行Unix Shell脚本吗?如果是,从Java代码中运行Shell脚本是一个好习惯吗? 问题答案: 你应该真正看一下Process Builder。它确实是为这种事情而构建的。

    • 问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代