HP Loadrunner" system"的输出在哪里?电话?

时间:2015-01-08 08:13:11

标签: loadrunner

我正在尝试在脚本运行时记录某些系统命令。例如:

Action() {
    // .....
    system("ipconfig > test_output.txt");
    // .....
} 

当Vugen运行脚本时,它会将输出放在脚本文件夹中。

但是,当Controller在场景中运行脚本时,输出似乎丢失了。它既不在结果文件夹中,也不在脚本文件夹中。

Controller在哪里放置系统命令的输出?

2 个答案:

答案 0 :(得分:2)

有两种选择:

1)脚本与LG位于同一台机器上(例如,如果LG是localhost) - 在这种情况下,文件将在脚本目录中创建,就像在VuGen中一样。

2)脚本与LG不在同一台机器上 - 在这种情况下,脚本位于[LG临时目录] / netdir / [路径类似于原始机器上脚本的路径]

例如,如果脚本位于c:\ scripts \ myScript中,它将类似于: C:\用户\ monkeyman \应用程序数据\本地\ TEMP \ brr_mJf.262 \ netdir \ C \脚本\ myScript的

您可以通过转到控制器中的LG属性找到LG的临时目录。

答案 1 :(得分:1)

您可以获取已执行命令的输出,变量甚至重播日志。 在Loadrunner" System"命令只执行上述命令但不等待命令完成。试试" popen"返回命令输出的命令。

对于Eg:system("ipconfig > test_output.txt");这可能不起作用 试试这个:

char buf[256];
long ls = popen("ipconfig", "r");
while (fgets(buf, sizeof(buf), ls) != 0) 
{   
  // You can save this to a variable using strcat
  lr_message("%s",buf);   // will print the output of the command in the replay log
}
    pclose(ls);

注意:您也可以尝试使用popen(" ipconfig> test_output.txt"," r");