51Testing软件测试论坛

标题: 制作基于http协议的webservice脚本摆脱100用户的license限制 [打印本页]

作者: Lennon    时间: 2009-5-14 14:33
标题: 制作基于http协议的webservice脚本摆脱100用户的license限制
关于lr的webservice协议的资料和讨论已经很多了。这片日志不是关于这个的。而是使用http完成webservice脚本。
同志们如果很烦恼使用webservice协议时的100用户数的限制。那么这片日志将解决你的问题。

1、为什么lr的http协议可以制作webservice脚本


   如果你要测的webservice是基于soap协议的。那么http协议一定可以支持的。因为soap协议走的就是http。特点其body是一个soap信封。http通过post方法将这个request的soap信封发到处理的url上。然后服务器调用响应的方法处理后通过http协议返回一个reponse的soap信封。

2、如何制作http协议的webservice脚本?

    在了解了以上这些东西之后,制作脚本的思路就很清晰了。我们需要的就是一句话。一句用来发post的语句而已。这句话就是web_custom_request.

    lr的帮助中这么说的Allows you to create a custom HTTP request with any method supported by HTTP.很好。它就是我们需要的。

    以下用一个实例在说明一下怎么用:

web_custom_request("services",
  "URL=http://192.168.51.142:7003/securityCitic/services",
  "Method=POST",
  "Resource=0",
  "RecContentType=text/xml",
  "Mode=HTML",
  "EncType=text/xml; charset=utf-8",
  "Body=<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"><SOAP-ENV:Header/><SOAP-ENV:Body><ns3:***-requestxmlns=\"http://www.99bill.com/**/**\" xmlns:ns2=\"http://www.99bill.com/**\" xmlns:ns3=\"http://www.99bill.com/**/***\"><ns3:request-header><ns2:version><version>1</version><service>fi.security.doVerify</service></ns2:version><ns2:requestId>***</ns2:requestId></ns3:request-header><ns3:request-body><ns3:connId>***</ns3:connId><ns3:data><ns2"
  ":entry><ns2:key>v****g</ns2:key><ns2:value>
  "CdM9g8NIjLrSQxggE2MIIBMgIBATAxMCkxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFDRkNBIE9wZXJhdGlvbiBDQQIEP86DJzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgxMTExMDcwMjI5WjAjBgkqhkiG9w0BCQQxFgQUfeaVTBwSMLw585EwzyjKMXUs9DcwDQYJKoZIhvcNAQEBBQAEgYCRqHAqHVl22hK7U495h96pf+PMM6tZSZr2/KAfvK9HawuAq3/Ppo2dwTGjVrNqHJC/IJDPlu8EJYV76f0gLXd1z8e9deuIh8d68sFU95qj7dHKtHSdRe+PN458+SG9Nw5//4yBZktIClmBlKiL8hkIxtdbIHtxeKUIYckOLPJMNwAAAAAAAA==</ns2:value></ns2:entry></ns3:data></ns3:request-body></ns3"
  ":***-request></SOAP-ENV:Body></SOAP-ENV:Envelope>",
  LAST);


上面URL中填写处理请求的rul

body中填写request的soap信封。

"EncType=text/xml; charset=utf-8",编码类型要这么写,不然服务器不认识的。

3、脚本录制的方法。

   哈哈。大家一定想不到还有脚本录制的方案吧。有。我空间里面有一个自己的servicegirl0.1版本soap发送工具。把处理URL和request填写上,点击go,response就回来了。录制的时候选择http协议,progrem to record选择工具里面的startup.bat就好了。这个bat很简陋。就一句话,不会有任何错误提示的哦。所以在使用这个之前你最好确保java6的环境已经配置ok了。这个版本的缺点显而易见。soap包靠写是不可思议的。还需要开发提供。或者其他工具抓取或生成。不用着急

servicegirl0.2版本会添加解析WSDL生成soap的功能。这样就比较方便了。如果有兴趣的话就留言,最好留在我空间里面。因为这个帖子估计几天之后我也不会再关注了。做好了发给你

servicegirl0.1下载地址:
http://www.51testing.com/?uid-14 ... space-itemid-127124

[ 本帖最后由 Lennon 于 2009-5-14 14:35 编辑 ]
作者: Fin    时间: 2009-5-15 11:07
谢谢了,呵呵
作者: peaksoftchen    时间: 2009-5-15 13:31
好贴!
作者: pxm    时间: 2009-5-15 14:38
表扬一下~
作者: 云层    时间: 2009-5-15 17:53
很不错的思路
作者: Lennon    时间: 2009-5-18 10:46
谢谢表扬




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