背景:
loadrunner webservice协议编写的脚本中,写文件。
策略:
1、loadruner中是不支持File数据类型的,所以用int或者long来声明一个文件;
2、关于文件处理的几种方法。《关于C语言的fprintf与fwrite使用区别》这篇
文章中解释得很详细,选用fprintf 方法;
3、fopen()方法。可参考:《LoadRunner下如何进行文件的操作》
fopen(filename,"a")) :文件存在,就覆盖写,不存在会先创建。为了不让它每次覆盖,我在fprintf()中使用了“%s\n”,每次都换行追加;
有人试过fopen(filename,"a+")) ,这样写的效果是一样的。
实现:
Action{
long file_stream;
char *filename = "c:\\001.txt";
soap_request(此段省略,即webservice协议的两种生成脚本方式);
// 将response出力
lr_message(lr_eval_string("Response is: \n {response}")); // 此处response是无须定义的,原因自己理解
// 取所需的依赖字段,关键函数lr_xml_get_values
lr_xml_get_values("XML = {response}",
"ValueParam = ValueParam ",
"Query = XXX",
LAST); // 此函数自行理解使用方法
// 本文重点 写文件
if((file_stream = fopen(filename,"a")) == NULL){
lr_error_message("Cannot open %s",filename);
return -1;
}
fprintf(file_stream,"%s\n",lr_eval_string("{ValueParam }"));
fclose(file_stream);
return 0;
}
|
总结:不是很难的代码,只是编写过程中学会举一反三,不拘泥于一种文件操作方法。
最新内容请见作者的GitHub页:http://qaseven.github.io/