51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2179|回复: 0
打印 上一主题 下一主题

SilkPerformer教程之脚本参数化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-9-18 13:47:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
性能测试过程中免不了需要多用户,多数据来完成测试,所以就需要我们在脚本中做好充分的数据准备,以防止测试过程中出错,所以我们需要参数化。
在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的转换。试运行成功(成功更改发帖内容),说明参数化成功!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-7-8 22:03 , Processed in 0.077612 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表