51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

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

[讨论] 为何XML Structure的参数的value不是XML类型而是string类型

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-11 00:19:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在Web Service测试中,我在XML Warehouse中定义了XML Structure类型的某参数p_input,并定义了结构。

但是在脚本运行过程中,却发现发向Servcie端的SOAP消息中p_input参数的value并不是XML结构体,

因为QTP自动增加了转义字符,用"&lt;","&gt;" 代替了"<",">",结果导致参数的value变成字符串,Service端不能解析,返回失败。

这个问题如何解决呢?如何使QTP发出的SOAP消息是XML结构?

如何发送SOAP消息到Service端?字符串拼接然后再WebService Object的SendRequest方法?

我的QTP版本9.2,Web Service插件仍然没有破解。

大家在实际工作中都是如何来测试Web Service的?

[ 本帖最后由 lemonwoods 于 2009-3-11 01:23 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-3-13 04:05:14 | 只看该作者
自问自答吧。

使用了SendRequest方法,可以正确的发送SOAP消息,同时可以得到正确的返回值

后来在设置验证点时又有了问题,SendRequest并不是WebService对象的WSDL定义的方法,所以无法使用LastResponse设置XML验证点,只好将Service端返回信息保存到XML文件,然后再针对XML文件设置验证点。终于看到期待已久的绿色对号的执行结果。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-3-26 07:05:39 | 只看该作者
最近也在用QTP做WEB SERVICE的测试,有空可以交流。

我直接使用的是从WSDL解析回来的OPERATION,然后把Request的SOAPEnv中的body不分黏贴为常量或者放到Data Table中,就可以正确发送Request并返回正确的Response。

但是有个问题,如果WSDL文件中不定义BindingPort部分的话,QTP就识别为非法的WSDL文件,无法导入到REPOSITORY中。
我怀疑是不是我的WEB SERVICE ADD-IN版本太低,只有9.1而已。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-3-26 07:07:54 | 只看该作者
我也没办法,其实QTP的WEB SERVICE测试功能比起SOAPUI来说,简直可以说是简陋。但SOAPUI没办法和QC很好的集成。真是很烦人啊……
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-3-27 21:31:46 | 只看该作者
你可以先用SOAPUI生成Request的XML文件,然后导入到QTP的XMLDatawarehouse中
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-19 16:29:33 | 只看该作者
原帖由 淡淡风轻 于 2009-3-27 21:31 发表
你可以先用SOAPUI生成Request的XML文件,然后导入到QTP的XMLDatawarehouse中

提示Framework错误,不成功
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-13 03:38 , Processed in 0.071931 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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