急,请教Loadrunner 截取字符串的函数~~~谢谢了~~~
比如一段字符串.....HECKRESULT><ORDERID><!]></ORDERID></CTagSe....
我需要截取<ORDERID>。。。</ORDERID>之间的这段字符串(orderid在整个字符串中只出现一次) 有什么LR自带的函数能实现啊
PS:应为出现在整个字符串中的位置不固定,所以用类似取整个字符串第N位到第M位的函数无法实现 看你的字符串貌似xml格式吧,看下LR帮助的lr_xml_get_values函数 如果是服务器返回,直接写个关联不就得了 同意云总 回复 2# mimmy
因为返报文里包含 <!] 将参数括起来了,导致lr_xml_get_values函数获取不了 回复 3# 云层
我一个action里面需要放2个报文,第二个报文的入参是第一个报文的出参(也就是刚说的那个报文返回的orderid),这种情况使用关联函数可以么? 自己顶一顶 按照现在看到的情况直接关联就行了,如果你是字符串,你可以找Fin写过的一个对字符串做关联的代码 用sscanf函数可以,sscanf(str,"%[^<ORDERID>]%[^</ORDERID>]",aa) 楼上这个函数蛮无敌的,以前没注意过,多谢了 回复 9# salent
感谢先!
看了帮助文档,例子如下:
Action() {
char sentence[] = "After 7 years' siege yet Troy walls stand";
char s1, s2;
int num_of_years;
sscanf(sentence,"%s %d %s", s1, &num_of_years, s2);
lr_output_message("Number of years=%d s2=\"%s\"", num_of_years, s2);
return 0;
}
Output:
Action.c(7): Number of years=7 s2="years'"
有个地方不明白 : sscanf(sentence,"%s %d %s", s1, &num_of_years, s2);
我去掉&num_of_years前面的& 之后就报错:
Action.c(7): Error: C interpreter run time error: Action.c (7):Error -- memory violation : Exception ACCESS_VIOLATION received.
请问这是什么问题? &:取地址符,没有&取不到地址,内存读取错误.
函数原型"
int sscanf( const char *buffer, const char *format_string, args );
参数1,参数2都是指针,必须用&取地址 lrs_save_searched_string("socket0",NULL,"session1","LB/BIN=<ORDERID>":","RB/BIN=</ORDERID>",1,0,-1); 。。 回复 3# 云层
嘻嘻看了您那本心出的书很长知识哦请多多指教。。。 回复 9# salent
这个函数在java中不能使用么?在api中没找到java语法的呢咋
页:
[1]