温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

LR基于HTTP协议的WebService测试

发布时间:2020-06-30 17:29:34 来源:网络 阅读:1940 作者:lyctest 栏目:软件技术

    最近发现之前做过的东西,在未掌握牢固的情况下,很快就会忘掉,所以,通过这些东西来保留下一些测试方法,以便以后能够回顾。

    WebService的最后一种测试方法,也就是通过HTTP协议来手写脚本完成测试,这里虽说手写脚本,其实完成的大部分还是复制粘贴的工作,很简单,下面简要记录。

    这种方式和soap_request一样,都是找到接口文档的请求,利用这些请求书写函数。

    首先,LR新建HTTP协议的脚本。

    第二,脚本中用web_custom_request();函数,其中参数url为我们的天气预报的地址:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx

    Method=POST,Body里面即是我们的请求,最终代码如下:

 

   web_custom_request("web_custom_request",
  "URL=http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx",
  "Method=POST",
  "TargetFrame=",
  "Resource=0",
  "Referer=",
  "Body=<?xml version=\"1.0\" encoding=\"utf-8\"?><soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">   <soap12:Body>    <getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">        <theCityName>&#x4E0A;&#x6D77;</theCityName>    </getWeatherbyCityName>   </soap12:Body></soap12:Envelope>",
  LAST);

这就完成了我们的web_custom_request()函数

这时我们进行回访,脚本中会产生错误:

Action.c(17): Error -26616: HTTP Status-Code=415 (Unsupported Media Type) for
"http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx" [MsgId: MERR-26616]

 

产生这个错误的原因是我们发送的数据包没有明确格式类型,服务器在校验格式时出现错误,所以我们需要手动添加一个Header头部分,使用函数web_add_header()添加web_add_header("Content-Type",
  "application/soap+xml; charset=utf-8");

这样再次运行就可以成功了。

 

细心的同学可能会发现在<theCityName>&#x4E0A;&#x6D77;</theCityName>

这里明明是填写城市的地方,为什么填的是一堆乱码呢。

这是由于我们发送的格式是utf-8格式的,那么在发送城市名字时也需要是utf-8编码的,要不然服务器是无法识别的,至于转换utf-8编码,可以通过百度搜索utf-8编码转换即可。

 

这就是LR测试webservice的最后一种方式,到现在3种方式已经完毕。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI