English 中文(简体)
多个操作适用于Loadrunner脚本?[已关闭]
原标题:
  • 时间:2009-02-11 16:11:26
  •  标签:
问题回答

在VuGen中添加操作很容易,但它不允许您在同一虚拟用户内并行执行这些操作。如果您想并行执行操作,则需要在控制器上为脚本运行多个虚拟用户。

在虚拟用户内实例化新线程非常困难,需要使用WinAPI来创建线程 - 绝不推荐。

如果您想要两种不同的行动并行执行,请使用多个脚本。但是,您将无法在虚拟用户之间共享变量或数据。

是的,您可以有多个操作。录制时,您可以从VUGen工具栏中指定一个新的操作。您也可以将所有内容录制到“操作”中,然后编辑脚本并创建自己的操作,将代码粘贴在那里。

就额外的操作而言,您可以编辑LR配置文件,即default.usp和您的[项目].usr文件。然而,我必须一开始就说,篡改配置文件可能有风险,如果您这样做,请先备份文件或项目,小心进行。

话虽如此,这似乎可以解决“创建新操作”未启用的问题(尽管我很想了解导致该问题的情况 - @TheBlastOne 指出与使用的协议有关)。

无论如何,编辑您的default.usp文件,为新的操作(比如Action2)添加一个RulLogicRunRoot条目,并在LR执行生命周期中进行配置,如下所示:

默认.usp

[RunLogicRunRoot:Action2]
MercIniTreeSectionName="Action2"
RunLogicObjectKind="Action"           <-- "Action" in this case means LR object type
Name="Action2"
MercIniTreeFather="RunLogicRunRoot"
RunLogicActionType="VuserRun"
...
Profile Actions name=vuser_init,Action,Action2,vuser_end
...
RunLogicActionOrder="Action,Action2"
...
MercIniTreeSons="Action,Action2"

不确定您需要编辑多少您的 [project].usr 文件,但无论如何,您都应该定义新操作的动作和解释器:

[项目].usr

[Actions]
vuser_init=vuser_init.c
Action=Action.c
Action2=Action2.c
vuser_end=vuser_end.c
...
[Interpreters]
vuser_init=cci
Action=cci
Action2=cci
vuser_end=cci
...

我不确定以下内容需要多少,但按照Action脚本创建每个条目可能是明智的。

[Recorded Actions]
...
[Replayed Actions]
...
[Modified Actions]

最后,别忘了在您的项目目录中创建Action2.c文件(使用适当的命名函数以避免与Action.c冲突)。重新打开LR中的项目,您的脚本视图中应该包含Action2。

注意:很抱歉,我无法帮助您解决有关线程的问题......我还没有那么高级。





相关问题
热门标签