HP Loadrunner "system" 调用的输出在哪里?
Where is the output of HP Loadrunner "system" calls?
我正在尝试在脚本运行时记录某些系统命令。例如:
Action() {
// .....
system("ipconfig > test_output.txt");
// .....
}
当 Vugen 运行脚本时,它会将输出放在脚本文件夹中。
但是,当 Controller 在场景中运行脚本时,输出似乎丢失了。它既不在结果文件夹中,也不在脚本文件夹中。
Controller将系统命令的输出放在哪里?
有两种选择:
1) 脚本与 LG 位于同一台计算机上(例如,如果 LG 是本地主机)- 在这种情况下,文件是在脚本目录中创建的,就像在 VuGen 中一样。
2) 脚本与 LG 不在同一台机器上 - 在这种情况下,脚本位于 [LG 临时目录]/netdir/[路径类似于原始机器上脚本的路径]
例如,如果脚本在 c:\scripts\myScript 中,它将是这样的:
C:\Users\monkeyman\AppData\Local\Temp\brr_mJf.262\netdir\c\scripts\myScript
您可以在控制器中的LG属性中找到LG的临时目录。
您可以获取执行命令的输出、变量甚至重播日志。
在 Loadrunner "System" 命令中只执行提到的命令但不等待命令完成。尝试 "popen" 命令,其中 returns 命令的输出。
例如: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");
我正在尝试在脚本运行时记录某些系统命令。例如:
Action() {
// .....
system("ipconfig > test_output.txt");
// .....
}
当 Vugen 运行脚本时,它会将输出放在脚本文件夹中。
但是,当 Controller 在场景中运行脚本时,输出似乎丢失了。它既不在结果文件夹中,也不在脚本文件夹中。
Controller将系统命令的输出放在哪里?
有两种选择:
1) 脚本与 LG 位于同一台计算机上(例如,如果 LG 是本地主机)- 在这种情况下,文件是在脚本目录中创建的,就像在 VuGen 中一样。
2) 脚本与 LG 不在同一台机器上 - 在这种情况下,脚本位于 [LG 临时目录]/netdir/[路径类似于原始机器上脚本的路径]
例如,如果脚本在 c:\scripts\myScript 中,它将是这样的: C:\Users\monkeyman\AppData\Local\Temp\brr_mJf.262\netdir\c\scripts\myScript
您可以在控制器中的LG属性中找到LG的临时目录。
您可以获取执行命令的输出、变量甚至重播日志。 在 Loadrunner "System" 命令中只执行提到的命令但不等待命令完成。尝试 "popen" 命令,其中 returns 命令的输出。
例如: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");