一、在Virtual User Generator中实现 方法1:在【运行时设置 run-time-setting】中设置 1.录制完脚本后,并对其进行完善,比如有这样三个脚本,Reg_Action,Login_Action,Order_Action 2.假如Virtual User设为100个,30%的用户**,20%的用户在登录,余下的用户做订票操作。 3.在场景中的run-time-setting中我们可以这样设置:在Run-Logic中在General Run Logic中设置run 属性,run有两种属性,一种是Sequential(顺序模式),另一种是Random(随机模式),通过Random这种方式,我们可以模拟30%的用户在**,20%的用户在登录。 4.其中的 block块可以实现更为复杂的脚本运行策略。 缺点:缺少灵活性,下面描述如何用编程实现。 方法2:通过程序解决 1.用程序 来判断随机出来的概率和和其给定的值作判断,如果符合这个条件,则调用此函次(脚本一次) 2.比如说100个用户,20%就是20个用户,那么 【0-20】这个范围内,在action中模拟20%的用户浏览网页,可以这么操作: Action{ int rowNum; rowNum=rand()%100+1; if (rowNum <=20%) //调用一个脚本 return 0; } 例如:性能测试场景设计--混合业务场景下的脚本比例控制 在某个业务场景中,包含数据创建和数据查询两项业务;现需考察数据创建和数据查询两项业务在并发比例为2:1、总并发量为100用户情况下的混合响应时间。 对混合比例的设置,可直接在脚本中进行,即通过随机函数rand实现,脚本设计如下所示。 int num; Action() { num = rand()%3; lr_start_transaction("综合业务--数据创建与数据查询"); if(num<2){ Data_Create(); //数据创建 } else{ Data_Search(); //数据查询 } lr_end_transaction("综合业务--数据创建与数据查询", LR_AUTO); r