• LoadRunner编程之文件的操作


    LoadRunner编程之文件的操作

     

    本文出自zibeike的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?34866

     

    这篇文章主要写下LoadRunner下如何进行文件的操作。

    1,文件的声明

        LoadRunner不支持FILE数据类型,所以在LoadRunner中用int来声明一个文件:

         int MyFile;

    2,文件的打开

         fopen():返回一个FILE数据类型的指针.因为LoadRunner不支持FILE数据类型,所以返回值需要转化成int型.

          int MyFile;

          MyFile=(int)fopen("C:\temp\loans.txt","w");

          fopen()函数的第一个参数是创建文件的路径.第二个参数指定了创建文件的模式.下面是常用的几种模式: 

    “w” - ,当需要往文件中写的时候.如果文件存在,就覆盖该文件,如果文件不存在,根据第一个参数来创建新文件. 

    “r” –,需要从文件中读的时候.这个文件必须已经存在.

    “a” –附加,当往文件末尾添加数据时用到.

    “rw” –读和写.

    第一个参数中注意文件路径为"\",因为""C语言中为转义字符.另外,如果文件和脚本在同一个目录中,文件的完整路径可以省略.

    3,读文件

           fscanf():用来读文件。函数语法如下:

          int MyFile;

               int LoanNumber;

               MyFile = fopen(“C:\temp\loans.txt”,”r”);

               fscanf(MyFile,”%d”, &LoanNumber);

        需要注意的是:MyFile是个文件指针(在LoadRunner中并不是真正的指针),被用来代替实际的文件。所有文件的操作都是使用文件指针而不是文件名称。

        练习1

        先创建一个文件c: emploans.txt,文件包含的内容为:

        11111

        22222

        33333

        44444

        55555

     循环读取并显示该文件中的每行数据,脚本如下:

    Actions()

    {

           int MyFile;

           int LoanNumber,i;

           // Assigning the file path to a string

           char FileName[80] = "C:\temp\loans.txt";

     

     

           // Opening the file

           // Note the use of variable to replace the file path

           //

           MyFile = (int)fopen(FileName,"r");

     

     

           //Readingand printing one loan number at a time

           for(i=1;i<=5;i++)

                  {

                  fscanf(MyFile,"%d", &LoanNumber);

                  lr_output_message("Loan Number %d: %d",i,LoanNumber);

                  }

     

           fclose(MyFile);

     

           return 0;

    }

    当文件打开之后,文件指针在文件的最开始。每读一次,指针就移动到下一行,这就是为什么程序能自动读取下面元素的原因。

    a) 如果把循环改为fori=1i<=7;i++),会出现什么样的结果呢?

    会出现三个都是打印55555的结果,原因是文件指针移动到最后就不再移动了,但是有7次循环,那多出来的2次循环打印的数据仍然是最后一行的数据。

    b)如果不知道该文件下包含数据的行数,就无法用for循环。需要使用while循环。可以使用feof函数。feofMyFile)在文件指针没有到达返回文件末尾的时候返回0,如果到末尾返回非0值。这样可以修改程序的循环为:

          whilefeofMyFile== 0);

    注意:如果文件末尾有空行,feof也会把它最为文件的一部分。

    本文出自zibeike的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?34866

    4,写文件

      fprintf():用来往文件写。语法如下:

              int MyFile;

            char Name[] = “John Doe”;

            MyFile = fopen(“C:\temp\loan.txt”,”w”);

                  fscanf(MyFile,”%s”,Name);

     第一个参数是文件指针,第二个参数是格式,第三个参数是指定格式对应的变量。

    Actions()

    {

           int MyFile;

           char Name[] = "John Doe";

     

     

           MyFile = fopen("C:\temp\names.txt","w");

    // note that "w" is used to write

           

    fprintf(MyFile,"%s", Name);

    // note that we are printing a string here

     


    本文出自zibeike的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?34866
  • 相关阅读:
    aws亚马逊配置 https,操作步骤记录
    八年phper的高级工程师面试之路八年phper的高级工程师面试之路
    laravel 获取目录下的所有目录Storage::directories
    Docker 入门看这一篇就够了,万字详解!
    PHP 引用是个坑,请慎用
    php面试常问方法汇总
    注册、登录和 token 的安全之道
    分享一下最近的面试题,都是大厂
    Xpath2
    ActiveX控件的实现
  • 原文地址:https://www.cnblogs.com/abcd19880817/p/7201498.html
Copyright © 2020-2023  润新知