不懂 java 语言如何开发 java vuser 协议的脚本

本贴最后更新于 1366 天前,其中的信息可能已经东海扬尘

场景:
1、当请求需要对请求的信息先进行md5加密,再请求到服务器时

2、重置密码必须先经过md5加密,再请求修改密码的接口时

本次以第2种场景进行操作,来演示如何开发java vuser脚本

下面的这些步骤,就算你没有java代码基础,也可以很轻松搞定java语言

前置条件:

loadrunner11:使用jdk1.6,32位的jdk版本

loadrunner12:使用jdk1.7,32位的jdk版本

不能使用64位的,loadrunner11不能使用高于1.6版本的jdk

下面以loadrunner12为例进行讲解,loadrunner11也是一样的步骤

1、搭建jdk环境变量

JAVA_HOME:D:\Program Files (x86)\Java\jdk1.7.0_25

PATH:%JAVA_HOME%\bin

CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;.;%JAVA_HOME%\lib\tools.jar

2、查看环境变量

image.png

maven环境变量设置:可以自己百度设置,这里就不写了

3、几个常用的函数

事务函数(Transaction Functions)

(1)int lr.start_transaction( String transaction_name ):标记事务开始;

(2)int lr.end_transaction ( String transaction_name, int status ):标记事务结束。

 信息函数(Informational Functions)

(1)String lr.get_host_name( ):返回执行 Vuser 脚本的负载生成器的名称;

(2)String lr.get_master_host_name ( ):返回运行Controller计算机的名称;

运行时函数(Run-Time Functions)

(1)int lr.rendezvous( String rendezvous_name ):在 Vuser 脚本中设置集合点;

(2)void lr.think_time( double time ):暂停脚本执行,模拟实际用户操作之间的思考时间。

字符串函数(String Functions)

(1)String lr.eval_string ( String instring ):用当前值替换参数;

(3)int lr.next_row ( String dat_file ):指示使用指定参数的下一行数据。

 消息函数(Message Functions)

(1)int lr.debug_message( int message_level, String message):向输出窗口发送测试过程的调试消息;

(2)int lr.error_message ( String message ):向Vuser日志文件和输出窗口发送错误消息以及位置的详细信息;

(3)int lr.log_message ( String message ):向 Vuser 日志文件发送消息;

(5)int lr.output_message ( String message ):向日志文件和输出窗口发送消息和位置信息;

(6)int lr.vuser_status_message ( String message ):向Controller窗口中的“Vuser状态”区域发送消息。

4、在idea工具里面新建maven工程

选择maven,点击下一步按钮

image.png

输入工程的名称,点击finish按钮

image.png

如果当前界面已经有工程了,直接点击This Window按钮

image.png

点击右下角的这个按钮

image.png

在idea工具里面确认是不是自己设置好的maven环境变量

image.png

向开发要到md5算法,对密码进行加密

image.png

进行调试,输出如下:

image.png

由于重置支付密码,需要登录操作,那么就需要发送HTTP请求,在java里面怎么完成HTTP请求呢?

引入httpclientRequest.java

image.png

当看到这些红色的错误的时候,需要在pom.xml加入配置,下载这些jar包,可以直接去到:https://mvnrepository.com,获取这些信息的配置

比如:org.apache.http.client.HttpClient,输入进行搜索

image.png

我这里用了4.5.6,点击这个数字进入

image.png

复制如下信息,放到pom.xml 文件中

<groupId>org.apache.httpcomponents</groupId>

<artifactId>httpclient</artifactId>

<version>4.5.6</version>

操作如下:

image.png

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->

<dependency>

    <groupId>org.apache.httpcomponents</groupId>

    <artifactId>httpclient</artifactId>

    <version>4.5.6</version>

</dependency>

</dependencies>

jettions也是一样的方法

image.png

image.png

开发重置支付密码的java类

image.png

登录部分的代码:

image.png

重置密码部分的代码:

image.png

编译运行代码,成功了,说明我们的java代码没有问题了

image.png

在打成jar包之前,需要设置该工程的jdk版本为7

image.png

继续往下走,导出jar包

image.png

image.png

image.png

该jar包所在的路径:

D:\workspace\PertestMd5\out\artifacts\PertestMd5_jar

image.png

image.png

image.png

在loadrunner中引入jar包

新建一个java vuser协议的脚本

image.png

在run-time-settings中,选择该jar包所在的路径和jdk的lib下面的dt.jar,tools.jar包,保存退出

image.png

在loadrunner的action里面步骤如下:
1.引入包名+类名

2.引入idea里面用到的

3.复制idea已经调好的代码

引入和idea工具一样的代码如下:

image.png

编译运行,没有报错就可以了,说明脚本是可以跑起来的

回帖
请输入回帖内容 ...