发布网友 发布时间:2022-04-25 16:28
共1个回答
热心网友 时间:2023-10-17 17:56
[b][/b]我想使用参数化输入设置10个并发用户循环1000次,第一个用户使用参数列表中的前1000个参数(第依次循环使用第一个参数、第二次循环使用第二个参数,依次类推)、第二个用户使用参数列表中的2001-3000个参数,依次类推。LoadRunner进行参数化输入时,参数的属性有Select next row、Update value on两个项,其中Select next row属性包括三个选项: Update value on属性包括四个选项:Sequential、Random、Unique、四个选项。首先搞清楚了几个概念:1.Update value on--Each Occurrence:只要发现该参数就重新取值(用于各处引用参数都不相关时)--Each iteration:每次反复都要取新值(各个并发会共享同一个值,用于多次引用参数且相关的情况)--Once:在所有的反复中都使用同一个值(仅在场景初始化时产生一次,在一个场景中的所有并发和所有反复的值都相同)2.Select Next Row方法可以是:连续的、随机的、唯一的、或者与其它参数表的相同行。--顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。--随机(Random):该方法在每次迭代的时候会从数据表中取随机数--唯一(UNIQUE):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。--其它参数表的相同行(Same Line As)该方法从和以前定义过的参数中的同样的一行分配数据。你必须指定包含有该数据的列。在下拉列表中会出现定义过的所有参数列表。注意:至少其中的一个参数必须是Sequential、Random或者Unique。--使用种子取随机顺序(Use Random Sequence with Seed):如果从Loadrunner的控制器来运行scenario,你可以指定一个种子数值用于随机顺序。每一个种子数值在测试执行的时候代表了一个随机数的顺序。无论你何时使用这个种子数值,在scenario中同样的数据顺序就被分配给虚拟用户。如果在测试执行的时候发现了一个问题并且企图使用同样的随机数序列来重复测试,那么,你就可以启动这个功能(可选项)。3.唯一参数值的分配方式场景初始化时会根据设置为每个VUser预先分配多个参数值,已确保不会重复。使用选项:Allocate XXX values for each vuser按照此设置后,运行设置为并发3个Vuser,RunTimeSetting设置为Run两次。运行 LoadRunner时,总是报错:insufficient records for param 'NewParam' in table to provide the Vuser with unique data百思不得其解,终于在Google上看到一篇文中提到:Do not delete script sections to avoid confusing the Controller. Instead, delete scripts you don't use from the Runtime Settings Run Logic section. However, actions not appearing in Run Logic are not available to the Controller.Conversely, parameters in actions deleted in the Controller still increment. This may result in this error message: -84800 "insufficient records for param '...' in table to provide the Vuser with unique data" (哈哈,想起来了自己曾经删除过一些参数)于是乎,New—〉Record—〉Replace Parameter一阵忙碌重新把脚本录制一遍,并且一次性设置好参数的属性。运行LoadRuner,那该死的错误终于看不到啦!