51Testing软件测试论坛

标题: 急,请教Loadrunner 截取字符串的函数~~~谢谢了~~~ [打印本页]

作者: shinetony    时间: 2012-3-31 16:33
标题: 急,请教Loadrunner 截取字符串的函数~~~谢谢了~~~
比如一段字符串
.....HECKRESULT><ORDERID><![CDATA[75088000102703]]></ORDERID></CTagSe....
我需要截取<ORDERID>。。。</ORDERID>之间的这段字符串(orderid在整个字符串中只出现一次) 有什么LR自带的函数能实现啊

PS:应为出现在整个字符串中的位置不固定,所以用类似取整个字符串第N位到第M位的函数无法实现
作者: mimmy    时间: 2012-3-31 18:19
看你的字符串貌似xml格式吧,看下LR帮助的lr_xml_get_values函数
作者: 云层    时间: 2012-3-31 22:36
如果是服务器返回,直接写个关联不就得了
作者: 夏日摸摸茶    时间: 2012-4-1 09:54
同意云总
作者: shinetony    时间: 2012-4-1 10:25
回复 2# mimmy


    因为返报文里包含 <![CDATA[...]] 将参数括起来了,导致lr_xml_get_values函数获取不了[attach]78264[/attach]
作者: shinetony    时间: 2012-4-1 10:29
回复 3# 云层


    我一个action里面需要放2个报文,第二个报文的入参是第一个报文的出参(也就是刚说的那个报文返回的orderid),这种情况使用关联函数可以么?
作者: shinetony    时间: 2012-4-1 23:44
自己顶一顶
作者: 云层    时间: 2012-4-2 09:33
按照现在看到的情况直接关联就行了,如果你是字符串,你可以找Fin写过的一个对字符串做关联的代码
作者: salent    时间: 2012-4-2 10:26
用sscanf函数可以,sscanf(str,"%[^<ORDERID>]%[^</ORDERID>]",aa)
作者: 云层    时间: 2012-4-2 10:57
楼上这个函数蛮无敌的,以前没注意过,多谢了
作者: shinetony    时间: 2012-4-2 11:37
回复 9# salent


    感谢先!
看了帮助文档,例子如下:
Action() {

     char sentence[] = "After 7 years' siege yet Troy walls stand";
     char s1[32], s2[32];
     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.

请问这是什么问题?
作者: newhackerman    时间: 2012-4-6 15:21
&:取地址符,没有&取不到地址,内存读取错误.
函数原型"
int sscanf( const char *buffer, const char *format_string, args );
参数1,参数2都是指针,必须用&取地址
作者: irisfly89    时间: 2012-4-11 17:16
lrs_save_searched_string("socket0",NULL,"session1","LB/BIN=<ORDERID>":","RB/BIN=</ORDERID>",1,0,-1);
作者: niunjxtest    时间: 2012-4-11 17:21
。。
作者: meqili    时间: 2012-8-2 11:05
回复 3# 云层

嘻嘻  看了您那本心出的书  很长知识哦  请多多指教。。。
作者: meqili    时间: 2012-8-2 11:07
回复 9# salent

这个函数在java中不能使用么?在api中没找到java语法的呢咋




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