51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8001|回复: 15
打印 上一主题 下一主题

[求助] 急,请教Loadrunner 截取字符串的函数~~~谢谢了~~~

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-3-31 16:33:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如一段字符串
.....HECKRESULT><ORDERID><![CDATA[75088000102703]]></ORDERID></CTagSe....
我需要截取<ORDERID>。。。</ORDERID>之间的这段字符串(orderid在整个字符串中只出现一次) 有什么LR自带的函数能实现啊

PS:应为出现在整个字符串中的位置不固定,所以用类似取整个字符串第N位到第M位的函数无法实现
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-3-31 18:19:37 | 只看该作者
看你的字符串貌似xml格式吧,看下LR帮助的lr_xml_get_values函数
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-3-31 22:36:51 | 只看该作者
如果是服务器返回,直接写个关联不就得了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-4-1 09:54:02 | 只看该作者
同意云总
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-4-1 10:25:08 | 只看该作者
回复 2# mimmy


    因为返报文里包含 <![CDATA[...]] 将参数括起来了,导致lr_xml_get_values函数获取不了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2012-4-1 10:29:10 | 只看该作者
回复 3# 云层


    我一个action里面需要放2个报文,第二个报文的入参是第一个报文的出参(也就是刚说的那个报文返回的orderid),这种情况使用关联函数可以么?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2012-4-1 23:44:38 | 只看该作者
自己顶一顶
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2012-4-2 09:33:54 | 只看该作者
按照现在看到的情况直接关联就行了,如果你是字符串,你可以找Fin写过的一个对字符串做关联的代码
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-4-2 10:26:10 | 只看该作者
用sscanf函数可以,sscanf(str,"%[^<ORDERID>]%[^</ORDERID>]",aa)
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2012-4-2 10:57:13 | 只看该作者
楼上这个函数蛮无敌的,以前没注意过,多谢了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2012-4-2 11:37:41 | 只看该作者
回复 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.

请问这是什么问题?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-1-30 12:49
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    12#
    发表于 2012-4-6 15:21:09 | 只看该作者
    &:取地址符,没有&取不到地址,内存读取错误.
    函数原型"
    int sscanf( const char *buffer, const char *format_string, args );
    参数1,参数2都是指针,必须用&取地址
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2012-4-11 17:16:15 | 只看该作者
    lrs_save_searched_string("socket0",NULL,"session1","LB/BIN=<ORDERID>":","RB/BIN=</ORDERID>",1,0,-1);
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2012-4-11 17:21:43 | 只看该作者
    。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2012-8-2 11:05:55 | 只看该作者
    回复 3# 云层

    嘻嘻  看了您那本心出的书  很长知识哦  请多多指教。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-8-2 11:07:30 | 只看该作者
    回复 9# salent

    这个函数在java中不能使用么?在api中没找到java语法的呢咋
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 23:53 , Processed in 0.079497 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表