51Testing软件测试论坛

标题: loadrunner如何读取网上自动生成的CSV文件 [打印本页]

作者: haiquan180    时间: 2007-6-28 09:34
标题: loadrunner如何读取网上自动生成的CSV文件
loadrunner

[ 本帖最后由 haiquan180 于 2007-6-29 18:11 编辑 ]



作者: qiguojie    时间: 2007-6-28 09:42
我感觉,比较文件数据应该不属于性能测试范围,应该是功能测试,为什么一定要用lr去读取呢??

用lr测试生成的文件,我只统计文件的生成数量以及生成时间;拿数量和执行事务数对比,拿生成时间和请求发出时间对比。
作者: haiquan180    时间: 2007-6-28 09:45
我也是这么认为的 可是老外不开壳 非要写个perl脚本
作者: qiguojie    时间: 2007-6-28 09:47
我有时间试一下。。lr可以用fopen打开文件,至于怎么比较我就不知道了
作者: qiguojie    时间: 2007-6-28 09:50
标题: LR自带的函数说明
long fopen ( const char *filename, const char *access_mode );
filename:The name of the file to open.  
access_mode:The type of access mode: r, w, a or r+, w+, a+, where the "+" sign indicates that the file must already exist.

Action() {

     int count, total = 0;
     char buffer[1000];
     long file_stream;
     char *filename = "c:\\readme.txt";

     /* Open the file with read access */
     if ((file_stream = fopen(filename, "r")) == NULL ) {

          lr_error_message("Cannot open %s", filename);
          return -1;
     }

     /* Read until end of file */
     while (!feof(file_stream)) {

          /* Read 1000 bytes while maintaining a running count */
          count = fread(buffer, sizeof(char), 1000, file_stream);
          lr_output_message("%3d read", count);

          /* Check for file I/O errors */
          if (ferror(file_stream)) {

               lr_output_message("Error reading file %s", filename);
               break;
          }

          total += count; /* add up actual bytes read */
     }

     /* Display final total */
     lr_output_message("Total number of bytes read = %d", total );

     /* Close the file stream */
     if (fclose(file_stream))
          lr_error_message("Error closing file %s", filename);

     return 0;
}

Output:
Action.c(19): 1000 bytes read
Action.c(19): 1000 bytes read
...
Action.c(19): 1000 bytes read
Action.c(20): 977 read
Action.c(34): Total number of bytes read = 69977
作者: haiquan180    时间: 2007-6-28 09:52
可是这个文件在后台啊 路径不清楚,倒是可以双击下载
作者: qiguojie    时间: 2007-6-28 10:04
晕。要是这样,你用perl也实现不了。。
作者: haiquan180    时间: 2007-6-28 10:09
你看用其他什么工具可以实现呢??
作者: haiquan180    时间: 2007-6-28 10:14
可不可以写个函数从XML中读取想要的数据呢
作者: qiguojie    时间: 2007-6-28 11:34
LR有xml相关操作函数。
lr_xml_get_values  
Retrieves values of XML elements found by a query

lr_xml_set_values  
Sets the values of XML elements found by a query

lr_xml_extract  
Extracts XML string fragments from an XML string

lr_xml_delete  
Deletes fragments from an XML string

lr_xml_replace  
Replaces fragments of an XML string

lr_xml_insert  
Inserts a new XML fragment into an XML string

lr_xml_find  
Verifies that XML values are returned by a query

lr_xml_transform  
Applies Extensible Stylesheet Language (XSL) Transformation to XML data
作者: qiguojie    时间: 2007-6-28 11:35
如果自己写函数,
请参考:http://www.51testing.com/?6343/action_viewspace_itemid_14822.html
作者: rhymesky    时间: 2007-7-2 12:59
谢谢分享!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2