沅芷湘兰 发表于 2013-9-18 13:47:55

SilkPerformer教程之脚本参数化

性能测试过程中免不了需要多用户,多数据来完成测试,所以就需要我们在脚本中做好充分的数据准备,以防止测试过程中出错,所以我们需要参数化。
在SilkPerformer中,所有的数据都被自动整合到一起了,所以做参数化的过程相对比较简单。
今天我们就以发帖的内容和标题来做参数化,首先把需要参数化的数据查找出来,如下所示:
      "-----------------------------7dd31d120d6e\r\n"
      "Content-Disposition: form-data; name=\"iscontinue\"\r\n"
      "\r\n"
      "0\r\n"
      "-----------------------------7dd31d120d6e\r\n"
      "Content-Disposition: form-data; name=\"atc_title\"\r\n"
      "\r\n"
      "testfatie001\r\n"
      "-----------------------------7dd31d120d6e\r\n"
      "Content-Disposition: form-data; name=\"atc_content\"\r\n"
      "\r\n"
      "testfatie001\r\n"
其中“atc_title”为发帖的标题,“atc_content”为发帖子的内容。下面我们就将“testfatie001”中的“001”用随机数字来做参数化,先选中“001”,再右键再选择“Customize Selected String”,如下图所示:

弹出如下窗口:

“Use Existing Parameter”是使用已经存在的变量;“Create New Parameter”是创建新的变量。选择“Create New Parameter”,直接“Next”,弹出如下窗口:

其中“Constant Value”是定义一个常量做为参数化的值;“Parameter From Random Variable”是生成一个随机数值;“Parameter form Multi-Column Data”是从参数化文件获取数值。选择“Parameter From Random Variable”,弹出如下窗口:

选择生成不同的随机数据类型,在这里我们选择“Integer numbers”,如下图所示:

“下一步”弹出如下窗口:

如上所示是生成一个从1到6000的随机数字,参数名叫“rRndUniN1”;“Show Preview”是可以看到生成的代码。如下图所示:

生成随机数字的三种方式“Per usage”每次使用产生一个新值;“Per Transaction”每个事务每次产生一个新值;“Per test”每次测试产生一个新值。
选择“Per Transaction”,完成。
生成的代码如下:
      "Content-Disposition: form-data; name=\"atc_title\"\r\n"
      "\r\n"
      "testfatie"+pRndUniN11+"\r\n"
同时替换“atc_content”里的“001”,代码如下:
      "-----------------------------7dd31d120d6e\r\n"
      "Content-Disposition: form-data; name=\"atc_title\"\r\n"
      "\r\n"
      "testfatie"+pRndUniN11+"\r\n"
      "-----------------------------7dd31d120d6e\r\n"
      "Content-Disposition: form-data; name=\"atc_content\"\r\n"
      "\r\n"
      "testfatie"+pRndUniN11+"\r\n"
定义一个参数,如下所示:
dclparam
pRndUniN11      : string;
定义一个随机变量,如下所示:
dclrand
rRndUniN1         : RndUniN(1..6000);
将“rRndUniN1”产生的值赋给“pRndUniN11”,然后进行调用,如下所示:
begin
    pRndUniN11 := string(rRndUniN1);
由于参数化过程中选择的是Int型的数据,在这个过程中SilkPerformer并没有帮我们处理好,在运行脚本时报错,提示拼接的部分一定要是String的类型,所以如上的代码已经做了从Into到String的转换。试运行成功(成功更改发帖内容),说明参数化成功!
页: [1]
查看完整版本: SilkPerformer教程之脚本参数化