晴天倒影 发表于 2013-2-25 11:13:08

A script describing user actions录制脚本使用web_submit_data()函数

使用HTML-based Script录制方式advanced下的A script describing user actions脚本方式进行录制,
录制的脚本中数据提交函数使用的是web_submit_data()
这种脚本方式的数据提交函数不是应该使用web_submit_form()函数吗??

开始以为是勾选HTTP Properties>Advanced中的Reset context for each action选项导致的,
但是去掉勾选这个选项后脚本中仍为web_submit_data()函数
请问是怎么回事?

云层 发表于 2013-2-25 11:22:38

不是所有的时候都会录制得到web_submit_form()比如你页面上有两个表单,那么这个函数就没法区别提交给那个了,自动变成web_submit_data()。

ps.其实web_submit_data才好用,不要用自动化的想法来做这种事情

晴天倒影 发表于 2013-2-25 11:28:44

云层老师好,我知道web_submit_data()函数才好用,
我正在看您的书,验证一下这两种脚本方式的区别。
我录制的是LR自带的订票网站的登录操作,脚本中的确是提交了3次,
web_submit_data("login.pl",   web_submit_data("login.pl_2",   web_submit_data("login.pl_3",
我觉得很疑惑,这里就一个登录操作,应该是就一个表单吧,怎么会提交3次呢?

云层 发表于 2013-2-25 12:07:43

不要看标题看数据内容,你们很多时候不知道基本的业务,就去看代码自然看不懂

晴天倒影 发表于 2013-2-25 12:26:54

web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/WebTours/login.pl",
                "Method=POST",
                "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value=110308.61855002fzHDQQQpfzzzzzzHDtAtDpQQHt", ENDITEM,
                "Name=username", "Value=jojo", ENDITEM,
                "Name=password", "Value=bean", ENDITEM,
                "Name=JSFormSubmit", "Value=on", ENDITEM,
                LAST);

        lr_think_time(9);

        web_submit_data("login.pl_2",
                "Action=http://127.0.0.1:1080/WebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                "Snapshot=t4.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value=110308.61855002fzHDQQQpfzzzzzzHDtAtDpQQHt", ENDITEM,
                "Name=username", "Value=jojo", ENDITEM,
                "Name=password", "Value=bean", ENDITEM,
                "Name=JSFormSubmit", "Value=on", ENDITEM,
                "Name=login.x", "Value=46", ENDITEM,
                "Name=login.y", "Value=7", ENDITEM,
                LAST);

        web_submit_data("login.pl_3",
                "Action=http://127.0.0.1:1080/WebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                "Snapshot=t5.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value=110308.61855002fzHDQQQpfzzzzzzHDtAtDpQQHt", ENDITEM,
                "Name=username", "Value=jojo", ENDITEM,
                "Name=password", "Value=bean", ENDITEM,
                "Name=JSFormSubmit", "Value=on", ENDITEM,
                "Name=login.x", "Value=46", ENDITEM,
                "Name=login.y", "Value=7", ENDITEM,
                LAST);

感觉第一次提交的表单貌似没有加隐藏的数据,但是后两次提交的好像是完全一样的……

云层 发表于 2013-2-25 13:48:06

第一个是多余的

晴天倒影 发表于 2013-2-25 14:13:54

这种多余的脚本有办法避免吗?
或者说,这些多余的脚本产生的原因是什么?

想的回忆 发表于 2014-5-15 14:26:20

求解答啊

fengchuifengluo 发表于 2016-3-18 23:37:00

我想问一下不同的网站登录功能,有的有web_submit_data函数,有的没web_submit_data是怎么回事??

accounting 发表于 2016-3-20 16:35:01

晴天倒影 发表于 2013-2-25 14:13
这种多余的脚本有办法避免吗?
或者说,这些多余的脚本产生的原因是什么?

也遇到过相同的web-submit-data就只函数括号
后缀名不一样,不知道是什么意思
页: [1]
查看完整版本: A script describing user actions录制脚本使用web_submit_data()函数