51Testing软件测试论坛

标题: Help for web_submit_form [打印本页]

作者: Hercule    时间: 2010-12-1 18:00
标题: Help for web_submit_form
本帖最后由 Hercule 于 2010-12-1 18:10 编辑

大家好!

我进行了录制, script --
lr_start_transaction("im > Submit Violation Reason");

web_submit_form("update_im_ticket.xhtml_7",
ITEMDATA,
"Name=update_ticket_form_id:ntfViolationReason", "Value=Violation", ENDITEM,
"Name=update_ticket_form_id:rmdSelector", "Value=Please Select", ENDITEM,
"Name=update_ticket_form_id:rmdTypeSelector", "Value=Please Select", ENDITEM,
"Name=update_ticket_form_id:rmdActionSelector", "Value=Please Select", ENDITEM,
"Name=update_ticket_form_id:rmdEnterText", "Value=", ENDITEM,
"Name=cancelCodeForm:cancelCodeDecorator:cancelCodeId", "Value=<OFF>", ENDITEM,
"NamePfx=cancelCodeForm:cancelTextDecorator:j_id", "Value=", ENDITEM,
"NamePfx=onholdCodeForm:aonholdCodeDecorator:j_id", "Value=<OFF>", ENDITEM,
"NamePfx=resoCodeForm:resoCodeDecorator:j_id", "Value=<OFF>", ENDITEM,
"NamePfx=resoCodeForm:resoTextDecorator:j_id", "Value=", ENDITEM,
//"NamePfx=j_id", "Value=", "File=Yes", ENDITEM,
"Name=selectCiPanelbrowserForm:selectCiPanelresults", "Value=<OFF>", ENDITEM,
"Name=selectCiPanelbrowserForm:selectCiPanelselected", "Value=<OFF>", ENDITEM,
"Name=update_ticket_form_id:slaViolationButton", "Value=Submit Violation Reason", ENDITEM,
EXTRARES,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);

lr_end_transaction("im > Submit Violation Reason",LR_AUTO);

回放的时候出错--
im_update_ticket.c(608): Error -27979: Requested form not found, Snapshot Info [MSH 0 22]          [MsgId: MERR-27979]
im_update_ticket.c(608): web_submit_form("update_im_ticket.xhtml_7") highest severity level was "ERROR", 0 body bytes, 0 header bytes          [MsgId: MMSG-26388]

请问是怎么回事?
作者: Hercule    时间: 2010-12-2 09:10
Any help?
作者: skyzhu    时间: 2010-12-2 10:30
web_submit_form 关键的目标提交地址在哪里?
作者: 泥泥虫    时间: 2010-12-2 10:35
楼主是否可以提供此部分代码的上面一部分?
作者: Hercule    时间: 2010-12-3 16:44
本帖最后由 Hercule 于 2010-12-3 16:45 编辑

skyzhu 朋友, 可以解释一下吗?

lr_start_transaction("im > Submit Violation Reason"); 和 lr_end_transaction("im > Submit Violation Reason",LR_AUTO);

是我录制之前、之后的操作。
作者: skyzhu    时间: 2010-12-3 21:41
web_submit_form 这个函数是和缓存有关系的,所以要看你前面访问的是什么页面,删除前面相关脚本就会找不到目标地址
建议使用web_submit_data 比较独立,参数差不多,帮助一看就能明白

  1. web_submit_data("update_im_ticket.xhtml_7",
  2. "Action=XXXXX这里是FORM提交的目标地址",
  3. "Method=POST",
  4. "RecContentType=text/html",
  5. "Mode=HTTP",
  6. ITEMDATA,
  7. "Name=update_ticket_form_id:ntfViolationReason", "Value=Violation", ENDITEM,
  8. "Name=update_ticket_form_id:rmdSelector", "Value=Please Select", ENDITEM,
  9. "Name=update_ticket_form_id:rmdTypeSelector", "Value=Please Select", ENDITEM,
  10. "Name=update_ticket_form_id:rmdActionSelector", "Value=Please Select", ENDITEM,
  11. "Name=update_ticket_form_id:rmdEnterText", "Value=", ENDITEM,
  12. "Name=cancelCodeForm:cancelCodeDecorator:cancelCodeId", "Value=<OFF>", ENDITEM,
  13. "NamePfx=cancelCodeForm:cancelTextDecorator:j_id", "Value=", ENDITEM,
  14. "NamePfx=onholdCodeForm:aonholdCodeDecorator:j_id", "Value=<OFF>", ENDITEM,
  15. "NamePfx=resoCodeForm:resoCodeDecorator:j_id", "Value=<OFF>", ENDITEM,
  16. "NamePfx=resoCodeForm:resoTextDecorator:j_id", "Value=", ENDITEM,
  17. //"NamePfx=j_id", "Value=", "File=Yes", ENDITEM,
  18. "Name=selectCiPanelbrowserForm:selectCiPanelresults", "Value=<OFF>", ENDITEM,
  19. "Name=selectCiPanelbrowserForm:selectCiPanelselected", "Value=<OFF>", ENDITEM,
  20. "Name=update_ticket_form_id:slaViolationButton", "Value=Submit Violation Reason", ENDITEM,
  21. LAST);
复制代码

作者: msnshow    时间: 2010-12-4 14:19
少有URL吧
作者: C组十三    时间: 2010-12-6 23:58
换成web_submit_data发送请求,就可以将那些URL删除掉了。
作者: Hercule    时间: 2010-12-7 15:49
多谢skyzhu 和C组十三  朋友。
作者: Hercule    时间: 2010-12-7 15:50
多谢skyzhu 和 c组13 朋友。
作者: Hercule    时间: 2010-12-7 16:02
msnshow 朋友,您老师啥意思?
作者: Hercule    时间: 2010-12-7 17:04
使用web_submit_data还是有问题。

Error is like
Walue of tag<selectitems> attribute is incorrect.
作者: C组十三    时间: 2010-12-7 20:32
只能提供一个大体的思路,楼上已经说了2个方面。
1、补充完整URL
2、使用web_submit_data方式发送请求
考虑到有时候请求的特殊性,之前我还用过JAVA编码发送请求,也就是当使用LR提供的函数不能解决问题时,可以考虑直接编码通讯部分,组包发送请求。

Walue的标记< selectitems >属性是不正确的,就是你发送的请求中,部分内容的属性错了,可能是位置,可能是长度,可能是类型,可能是值不对等等。
作者: msnshow    时间: 2010-12-9 13:56
回复 7# msnshow


    就是你把提交的URL给弄丢了造成的




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