LoadRunner如何运行Java脚本(参数化)

1:运行环境
LoadRunner11最高只支持JDK1.6,LoadRunner12比较高的版本支持JDK1.8

关于JavaVuser环境的搭建请参考:https://blog.csdn.net/hujyhfwfh2/article/details/82831102

2:脚本的编写
2.1:Eclipse脚本目录结构

LoadRunner如何运行Java脚本(参数化)


2.2:Java代码
Student实例对象

package Object;
 
public class Student {
    
    private String name;
    private int age;
    private String postion;
    
    //满参构造方法
    public Student(String name, int age, String postion) {
        super();
        this.name = name;
        this.age = age;
        this.postion = postion;
    }
    //Get Set方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getPostion() {
        return postion;
    }
    public void setPostion(String postion) {
        this.postion = postion;
    }
    //toString方法
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + ", postion=" + postion + "]";
    }
    
}
import Object.Student;
 
public class LR_Test {
    
    public static void main(String[] args) {
        
        Student s = new Student("张三", 18, "北京三里屯");
        //由于有tostring方法 所以可以直接输出s对象
        System.out.println(s);
    }
 
}

 

2.3:如何引入LoadRunner
引入LoadRunner需要注意下列问题:

1:Eclipse的编译环境是JDK1.7 But LoadRunner的编译环境是JDK1.6

      回答:修改Eclipse编译环境为JDK1.6然后再导出jar包即可 参考 2.3.4

2:LoadRunner如何像Eclipse那样引入package

     回答:导入Jar包直接import即可 参考2.3.3

 

2.3.1:LoadRunner引用Eclipse的方法

由于LoadRunner没有eclipse写Java代码方便 所以.. 你懂得

LoadRunner如何运行Java脚本(参数化)

2.3.2:Eclipse导出Jar包

我们将jar包导出到自定义的目录位置 (我是导出到桌面的) 导出Jar包可以只导出需要的class 也可以把整个包都导出

LoadRunner如何运行Java脚本(参数化)

2.3.3:LoadRunner引入Jar包

运行时环境中导入Jar包

LoadRunner如何运行Java脚本(参数化)

LoadRunner脚本中import jar包

LoadRunner如何运行Java脚本(参数化)

运行 发现报错

LoadRunner如何运行Java脚本(参数化)

2.3.4:解决JDK版本问题
1:如下图 修改编译JDK版本为1.6

LoadRunner如何运行Java脚本(参数化)

2:重复上面2.3.3的导出jar和引入的步骤即可

3:再次运行发现可以通过了

LoadRunner如何运行Java脚本(参数化)

3:JavaVuser的参数化
1:选中需要参数化的参数 右键 Replace with a Parameter

LoadRunner如何运行Java脚本(参数化)

2:添加参数

LoadRunner如何运行Java脚本(参数化)

4:init、end、action的关系
4.1:脚本解释一切

对上述LoadRunner JavaVuser脚本修改如下

LoadRunner如何运行Java脚本(参数化)

2:设置迭代次数

LoadRunner如何运行Java脚本(参数化)

3:运行日志如下 

我们发现init end各运行了一次 action运行了3次

Virtual User Script started at : 2018-10-01 16:40:22
Starting action vuser_init.
System.out: 我是Init                                                                                                                                                      Notify:
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Actions.
System.out: Student [name=张三, age=18, postion=北京三里屯]                                                                                                                                                      Notify:
Ending action Actions.
Ending iteration 1.
Starting iteration 2.
Starting action Actions.
System.out: Student [name=李四, age=18, postion=北京三里屯]                                                                                                                                                      Notify:
Ending action Actions.
Ending iteration 2.
Starting iteration 3.
Starting action Actions.
System.out: Student [name=张三, age=18, postion=北京三里屯]                                                                                                                                                      Notify:
Ending action Actions.
Ending iteration 3.
Ending Vuser...
Starting action vuser_end.
System.out: 我是End                                                                                                                                                      Notify:
Ending action vuser_end.
Vuser T
4.2:总结说明
有几个用户 init、end函数则运行几次 action则跟整个脚本的迭代次数有关 

5:LoadRunner处理Json
5.1:导入fastjson jar包

LoadRunner如何运行Java脚本(参数化)
5.2:LoadRunner脚本如下
import lrapi.lr;
 
import com.alibaba.fastjson.JSONObject;
 
public class Actions
{
 
    public int init() throws Throwable {
        return 0;
    }//end of init
 
 
    public int action() throws Throwable {
 
                   JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "张三");
        jsonObject.put("age", 18);
        jsonObject.put("address", "北京三里屯");
        
        System.out.println(jsonObject);
        System.out.println(jsonObject.get("name"));
 
        return 0;
    }//end of action
 
 
    public int end() throws Throwable {
        return 0;
    }//end of end
}
5.3:运行结果

LoadRunner如何运行Java脚本(参数化)

--------------------- 
作者:AnndyTuo 
来源:CSDN 
原文:https://blog.csdn.net/hujyhfwfh2/article/details/82917011 
版权声明:本文为博主原创文章,转载请附上博文链接!