51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1801|回复: 5
打印 上一主题 下一主题

[原创] Web service 参数的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-27 12:09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当前要做一个项目的压力测试,工具选用的是 LR 9.51
项目架构是
C/s Client + Web Service + Sql Server
项目的做法是,在客户端将需要操作的对象组装好,然后将对像发到App Server,

录入,回放均正常,现在又个参数化得问题,请大家指教
问题:
对象是在客户端组装的,比如说(客户:电话,姓名),组装的对象,如何参数化后发送到app server

为谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-9-27 12:42:04 | 只看该作者
脚本发一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-9-27 12:58:30 | 只看该作者
Insert 的脚本
web_service_call( "StepName=Execute_15",
                "SOAPMethod=Dispatch|DispatchSoap|Execute",
                "ResponseParam=response",
                "Service=Dispatch",
                "ExpectedResponse=SoapResult",
                "Snapshot=t37.inf",
                BEGIN_ARGUMENTS,
                "assemblyName=ETalk.CRM.Dealer.Server",
                "className=ETalk.CRM.Dealer.BLL.DealerBO",
                "methodName=Insert",
                "xml:inputParam="
                        "<inputParam base64Mode=\"file\">WSDL\\@Base64RecordedFiles\\0.bin</inputParam>",
                "xml:AuthenHeaderValue="
                        "<AuthenHeaderValue>"
                                "<Sessionid>6c72de7e-0f83-48f3-b41b-8eacbbca6ff1</Sessionid>"
                                "<Username>admin</Username>"
                                "<Password>admin</Password>"
                        "</AuthenHeaderValue>",
                END_ARGUMENTS,
                BEGIN_RESULT,
                END_RESULT,
                LAST);


update 的脚本
web_service_call( "StepName=Execute_18",
                "SOAPMethod=Dispatch|DispatchSoap|Execute",
                "ResponseParam=response",
                "Service=Dispatch",
                "Snapshot=t40.inf",
                BEGIN_ARGUMENTS,
                "assemblyName=ETalk.CRM.Dealer.Server",
                "className=ETalk.CRM.Dealer.BLL.DealerBO",
                "methodName=Update",
                "xml:inputParam="
                        "<inputParam base64Mode=\"file\">WSDL\\@Base64RecordedFiles\\1.bin</inputParam>",
                "xml:AuthenHeaderValue="
                        "<AuthenHeaderValue>"
                                "<Sessionid>6c72de7e-0f83-48f3-b41b-8eacbbca6ff1</Sessionid>"
                                "<Username>admin</Username>"
                                "<Password>admin</Password>"
                        "</AuthenHeaderValue>",
                END_ARGUMENTS,
                BEGIN_RESULT,
                END_RESULT,
                LAST);

delete 的脚本
web_service_call( "StepName=Execute_29",
                "SOAPMethod=Dispatch|DispatchSoap|Execute",
                "ResponseParam=response",
                "Service=Dispatch",
                "Snapshot=t51.inf",
                BEGIN_ARGUMENTS,
                "assemblyName=ETalk.CRM.Dealer.Server",
                "className=ETalk.CRM.Dealer.BLL.DealerBO",
                "methodName=LogicalDelete",
                "xml:inputParam="
                        "<inputParam base64Mode=\"encoded\">AAEAAAD/////AQAAAAAAAAAQAQAAAAEAAAAICDBOclML</inputParam>",
                "xml:AuthenHeaderValue="
                        "<AuthenHeaderValue>"
                                "<Sessionid>6c72de7e-0f83-48f3-b41b-8eacbbca6ff1</Sessionid>"
                                "<Username>admin</Username>"
                                "<Password>admin</Password>"
                        "</AuthenHeaderValue>",
                END_ARGUMENTS,
                BEGIN_RESULT,
                END_RESULT,
                LAST);
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-9-27 16:24:32 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-9-27 17:17:49 | 只看该作者
具体要参数什么内容?不懂你最后一句话的意思。另外,你这个脚本是不是不全啊
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-9-27 18:29:26 | 只看该作者
脚本是不全 我只截取了新增,修改,和删除的脚本
Web Service 暴露了execute 接口 ,需要四个参数 (AssemblyName,className,methodName,inputParam)

"assemblyName=ETalk.CRM.Dealer.Server",
                "className=ETalk.CRM.Dealer.BLL.DealerBO",
                "methodName=Update",
                "xml:inputParam="
                        "<inputParam base64Mode=\"file\">WSDL\\@Base64RecordedFiles\\1.bin</inputParam>",
                "xml:AuthenHeaderValue="
                        "<AuthenHeaderValue>"
                                "<Sessionid>6c72de7e-0f83-48f3-b41b-8eacbbca6ff1</Sessionid>"
                                "<Username>admin</Username>"
                                "<Password>admin</Password>"
                        "</AuthenHeaderValue>",

从上述脚本,可以看出前三个参数都是明文,关键是最后一个参数,我在客户端是一个对象(比如说是客户,包括姓名,年龄,电话),然后在客户端序列化之后,传到Service,在此,我们可以看到,inputParam 是指向一个文件 WSDL\\@Base64RecordedFiles\\1.bin, 这个文件应该是我的客户对象,就像如何对客户这个对象的参数(客户姓名,客户年龄,客户电话)能够参数化,在运行的时候,自动生成,谢谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 13:16 , Processed in 0.082635 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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