我正在尝试在脚本运行时记录某些系统命令。例如:
Action() {
// .....
system("ipconfig > test_output.txt");
// .....
}
当Vugen运行脚本时,它会将输出放在脚本文件夹中。
但是,当Controller在场景中运行脚本时,输出似乎丢失了。它既不在结果文件夹中,也不在脚本文件夹中。
Controller在哪里放置系统命令的输出?
答案 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");