51Testing软件测试论坛

标题: 怎样在LR的http协议中提交delete方式的请求?【已解决】 [打印本页]

作者: tianlang001    时间: 2013-9-17 16:58
标题: 怎样在LR的http协议中提交delete方式的请求?【已解决】
本帖最后由 tianlang001 于 2013-9-22 17:28 编辑

现有一个delete提交方式的http请求,代码如下:
                web_custom_request("deleteapp",
                "URL=https://XXXXXX/api/private/users/self/deleteapp",
                "Method=DELETE",
                "Resource=0",
                "RecContentType=application/json",
                "Referer=https://XXXXXX/us/en/#papdetailsfrommyapps/1325.2/1.0.0/4/",
                "Snapshot=t55.inf",
                "Mode=HTML",
                "Body=appId=1325.2&uri=https://YYYYYY:443/ams/apps/1325.2/1.0.0/4&isSchedulable=true&devices=-wihcjiwr2-mp_qf9xi68g",
                EXTRARES,
                                LAST);

此段代码在我的脚本中执行时成功的,但是根本没有执行我想要的删除操作,API中此处的method只有POST和GET,而改为POST或GET时,提示无法找到URL了
Action.c(126): Warning -26000: Request body (length=155) is not empty for HTTP Method=GET, for URL is "https://XXXXXX/api/private/users/self/deleteapp" (Internal ID=123)[MsgId: MWAR-26000]
Action.c(126): Error -26627: HTTP Status-Code=404 (Not Found) for "https://XXXXXX/api/private/users/self/deleteapp"          [MsgId: MERR-26627]

哪位大神看下怎样能解决这个问题,有没有哪个函数可以支持这个delete提交方式的?
先行谢过了。
作者: goal1860    时间: 2013-9-18 12:36
你确定服务支持“delete”方法么?现在极少有服务还支持delete了,一般都是get和post。从你的请求格式上来看应该是get。
作者: tianlang001    时间: 2013-9-18 14:10
本帖最后由 tianlang001 于 2013-9-18 14:30 编辑

回复 2# goal1860


确定哦,因为用fiddler查看的就是delete提交请求,接口文档上method那里写的也是delete,把method改为get执行错误的,下面是错误日志的
作者: 地壳    时间: 2013-9-18 15:44
web_custom_request函数中Method – the form submission method: POST or GET.
作者: tianlang001    时间: 2013-9-18 16:13
web_custom_request函数中Method – the form submission method: POST or GET.
地壳 发表于 2013-9-18 15:44



    那个我看到了,请问有没有支持delete的函数呢,接口是delete的提交方式啊
作者: goal1860    时间: 2013-9-19 09:12
可能你提交的时候其实服务端出错了,但是错误被屏蔽了,所以表面上看起来执行成功但是没有效果。你执行delete后返回的json消息内容是什么?另外你是否可以查阅应用服务器的日志?
作者: tianlang001    时间: 2013-9-22 13:45
可能你提交的时候其实服务端出错了,但是错误被屏蔽了,所以表面上看起来执行成功但是没有效果。你执行dele ...
goal1860 发表于 2013-9-19 09:12



    请问,返回的josn在LR能看到么,服务器日志的话我暂时看不到,要看那个有点麻烦。
作者: tianlang001    时间: 2013-9-22 17:13
谢谢各位的帮助,问题已解决,delete提交方式不能有body,参数要直接跟在URL后面才行,代码改为
        web_custom_request("deleteapp",
                "URL=https://XXXXXX/api/private/users/self/deleteapp?appId=1325.2&uri=https://YYYYYY:443/ams/apps/1325.2/1.0.0/4&isSchedulable=true&devices=-wihcjiwr2-mp_qf9xi68g",
                "Method=DELETE",
                "Resource=0",
                "RecContentType=application/json",
                "Referer=https://XXXXXX/us/en/#papdetailsfrommyapps/1325.2/1.0.0/4/",
                "Snapshot=t515.inf",
                "Mode=HTML",
//已注释       
//        "Body=appId=1325.2&uri=https://YYYYYY:443/ams/apps/1325.2/1.0.0/4&isSchedulable=true&devices=-wihcjiwr2-mp_qf9xi68g",
                EXTRARES,
                                LAST);
就ok了。
作者: new_lio    时间: 2013-9-30 17:10
还真有这样的delete方法?表示没见过。。。
作者: 云层    时间: 2013-10-4 10:42
lr应该不支持delete方法
作者: tianlang001    时间: 2013-10-8 13:54
试的通过了的,脚本执行完之后数据确实被删除了的
作者: 1559564918    时间: 2013-10-10 15:52
看了之后表示一下,厉害{:4_83:}
作者: 城邦    时间: 2013-10-11 09:28
delete 方法第一次看到真实的用法




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