0

我使用 Loadrunner Siebel Web 协议记录了 Siebel CRM。
我在录制脚本时使用了 Siebel 相关库。
单次迭代重放成功。

但是当我们运行多次迭代时,脚本仅通过第一次迭代并在随后的迭代中失败。

该脚本在运行第一次迭代时传递相关参数“Siebel_Star_Array110_rowid”。

重播第一次迭代的扩展日志(带参数替换):

Action.c(437): web_submit_data("start.swe_16") started      [MsgId: MMSG-26355]
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op90_rowid" =  "1SIA-5VT8"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_SWECount" =  "6"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op90_1" =  "04757GC1B837DC526"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op92_rowid" =  "Vehicle Admin"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op92_rowid" =  "Vehicle Admin"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op92_rowid" =  "Vehicle Admin"
Action.c(437): Notify: Parameter Substitution: parameter "SRN_Param" =  "em5VZBI694AirMRd1NSi9fAOUADi9YcdBcPnjccapR4b"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op90_5" =  "Hyundai"
Action.c(437): Notify: Parameter Substitution: parameter "SiebelTimeStamp" =  "1383655597773"
Action.c(437): Notify: Parameter Substitution: parameter "Siebel_Star_Array_Op92_rowid" =  "Vehicle Admin"
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_1 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_2 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_3 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_4 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_5 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_6 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_7 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_8 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_9 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_10 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_11 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_12 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_13 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_14 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_15 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_16 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_17 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_18 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_19 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_20 = SADMIN".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_21 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_22 = Default Organization".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_23 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_24 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_25 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_26 = USD".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_27 = 11/05/2013".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_28 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_29 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_30 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_31 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_32 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_33 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_34 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_35 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_36 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_37 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_38 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_39 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_40 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_41 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_42 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_43 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_44 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_45 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_46 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_47 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_48 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_49 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_50 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_51 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_52 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_53 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_54 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_55 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_56 = ".
Action.c(437): Notify: Saving Parameter "Siebel_Star_Array110_rowid = 1-1X7Q9F".
Action.c(437): web_submit_data("start.swe_16") was successful, 4161 body bytes, 293 header bytes    [MsgId: MMSG-26386]

但是该脚本在运行第二次迭代时在相关参数“Siebel_Star_Array110_rowid”处失败。

重播第二次迭代的扩展日志(带参数替换): c(437):通知:参数替换:参数“SRN_Param”=“em5VZBI694AirMRd1NSi9fAOUADi9YcdBcPnjccapR4b”Action.c(437):通知:参数替换:参数“Siebel_Star_Array_Op90_5”=“Mercedez”Action.c(437):通知:参数替换:参数“SiebelTimeStamp”=“1383655607466”Action.c(437):通知:参数替换:参数“Siebel_Star_Array_Op92_rowid”=“1SIA-5VT8”Action.c(437):错误 -26377:未找到请求的参数“Siebel_Star_Array110”的匹配项”。检查响应数据中是否存在请求的边界。另外,如果您要保存的数据超过 99999 字节,请使用 web_set_max_html_param_len 增加参数大小 [MsgId: MERR-26377] Action.c(437): 通知:保存参数“Siebel_Star_Array110 =”。Action.c(437): web_submit_data("start.swe_16") 最高严重级别为 "ERROR", 980 body bytes, 267 header bytes [MsgId: MMSG-26388]

4

3 回答 3

2

记录两次并比较。您很可能有一段未处理的动态数据,您需要使用手动关联方法来处理这些数据。自动关联库就像灵丹妙药,在遇到狼人时非常有用。否则它们只是非常昂贵的子弹,您仍然需要仔细瞄准。

  • LoadRunner 公理 1:如果自动关联不起作用,则使用手动关联。
  • LoadRunner Axiom 2:如果您不知道如何进行手动关联,那么您永远不应该利用自动关联,因为当它失败(并且会)时,除了“责备工具”而不是解决问题之外,您别无选择代码中的核心问题。
于 2013-10-31T13:34:45.697 回答
0

这是 Siebel 中的常见问题,它不适用于多次迭代,

这是一个相关性问题。

请按照以下步骤操作。1. 运行脚本进行 2 次迭代 2. 检查迭代 1 和迭代 2 中相关值的每个值 3. 如果两次迭代都看到相同的值,那就是罪魁祸首 4. 对罪魁祸首进行手动关联两次迭代中相同的值。

谢谢,

于 2013-10-31T21:14:11.563 回答
0

你能显示脚本或业务流程的工作流程吗?是否有可能,您的 Row_id 在第二次迭代中为空?其他选项:将lr_set_param_len中的值乘以 10

我在 LR+Siebel 的一点经验给了我一个规则:查询记录,然后选择它。 在查询结果中,您将始终拥有您的 row_id。

第三个选项:1)将web_reg_save_param放在每个函数之前,使用 SWE 方法更改行(PickRecord、SaveRecord 等)。2)使用日志重播选项“扩展日志”运行脚本。在重播日志中,您将看到带有您的 Row_Id 的参数。在失败的函数调用中使用这些参数。

于 2014-01-12T10:31:59.133 回答