LR脚本练习:用system函数执行系统命令

发表于:2007-11-08 13:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Zee    来源:Zee的博客

参考资源:LR帮助

前提:windows系统
实现功能:用LR中的system函数执行系统命令
相关功能:在LR中利用C函数建立文件,写文件,读文件。
主要相关函数:sprintf/fopen/fgetc/fread/fclose
Action()
 {
      int count,total=0,i;
      char buffer[1000];
      long file_stream;
     char filename[1024], command[1024],line[100];
     char new_dir[] = "C:\\test";
     if (mkdir(new_dir))
          lr_output_message("Create directory %s failed", new_dir);
     else
          lr_output_message("Created new directory %s", new_dir);
     sprintf (filename, "%s\\%s", new_dir, "newfile.txt");
     sprintf (command, "dir /b c:\\ > %s /w", filename );
     system(command);
     lr_output_message("Created new file %s", filename);
   if((file_stream=fopen(filename,"r"))==NULL)
       {
       lr_error_message("can not open %s",filename);
       return -1;
   }
   for(i=1;i<10;i++)
    {
       if (fgets(line, 100, file_stream) == NULL)
          lr_output_message("fgets error" );
     else
          lr_output_message( "The first line is \"%s\"", line);
    }
    while(!feof(file_stream))
              {
      count=fread(buffer,sizeof(char),1000,file_stream);
       lr_output_message("%3d read",count);
    if(ferror(file_stream))
              {
    lr_output_message("error reading file %s",filename);
    break;
        }
   total+=count;
        }
      lr_output_message("Total number of bytes read = %d",total);
     if(fclose(file_stream))
      lr_error_message("Error closing file %s",filename);
     return 0;
}
        后注:在LR中可以执行任意windows的系统内部命令和外部命令。可以查看一下环境变量中的参数,是否还支持其他命令。
        如果有java环境,也可以执行java命令,举例如下:
Action()
{
       char command[1024];
     sprintf(command,"java -javaagent:D:\testtools\Mercury\MercuryDiagnostics\JAVAProbe\lib\probeagent.jar" );
     system(command);
    return 0;
}
 
        如有错误之处,请指正。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号