51Testing软件测试论坛

标题: 为什么关联值没用的时候能取到值,用在函数中提示没有匹配的参数? [打印本页]

作者: xxyyzzz    时间: 2010-6-17 16:08
标题: 为什么关联值没用的时候能取到值,用在函数中提示没有匹配的参数?
是位置不正确吗?
web_reg_save_param("Siebel_Analytic_ViewState",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);

web_submit_data("aspx",
ITEMDATA,
"Name=__VIEWSTATE","Value={Siebel_Analytic_ViewState6}", ENDITEM,
作者: skyzhu    时间: 2010-6-17 16:22
没看明白你要做什么
而且。。
上面Siebel_Analytic_ViewState
下面Siebel_Analytic_ViewState6
作者: xxyyzzz    时间: 2010-6-17 16:28
写错了
都是Siebel_Analytic_ViewState
就是web_submit_data 中viewstate没用Value={Siebel_Analytic_ViewState},用录制的值,查看execution log
中取到了Siebel_Analytic_ViewState。
Notify: Saving Parameter "Siebel_Analytic_ViewState = /wEPDwULLTE0O。。。。。(省略)
但数据没保存。

web_submit_data 中viewstate用Value={Siebel_Analytic_ViewState},就提示没有匹配参数
作者: skyzhu    时间: 2010-6-17 16:36
脚本内容太少了,没法确定什么问题
web_reg_save_param,所有reg类型的函数都是用在获取之前的,这和一般思维上有不同,为的是节省脚本自身性能
比如打开页面是url,ViewState出现在Url的请求里,提交是submit,这里需要提交ViewState
那么顺序就是
web_reg_save_param
url
submit
作者: xxyyzzz    时间: 2010-6-17 16:42
是打开页面有一个viewstate,但增加数据时函数有viewstate和打开页面的viewstate值不一样。
web_reg_save_param(1)
url(1)
web_reg_save_param(2)
submit(2)
如果submit(1)提示参数无效。
如果submit(2)提示视图被损坏。
1,2代关联函数名
作者: skyzhu    时间: 2010-6-17 17:05
web_reg_save_param  抓取 viewstate
url        返回页面信息中含有 viewstate
submit     提交需要 viewstate

用这个顺序就可以了
不需要2个
作者: xxyyzzz    时间: 2010-6-17 17:09
可是一直提示回传参数无效。
作者: skyzhu    时间: 2010-6-17 17:14
标题: 这个应该很像了吧,自己对着改
web_reg_save_param("Siebel_Analytic_ViewState",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                LAST);
        web_url("login.aspx",
                "URL=xxxxxxxxxxxxxxxxx",
                "Resource=0",
                "RecContentType=text/html",
                "Mode=HTTP",
                LAST);
        web_submit_data("login.aspx_2",
                "Action=xxxxxxxxxxxxxxxxxxx",
                "Method=POST",
                "RecContentType=text/html",
                "Mode=HTTP",
                ITEMDATA,
                "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState}", ENDITEM,
                "Name=username", "Value=test", ENDITEM,
                "Name=password", "Value=1234", ENDITEM,
                "Name=CheckCode", "Value=1111", ENDITEM,
                "Name=btnSubmit.x", "Value=1", ENDITEM,
                "Name=btnSubmit.y", "Value=1", ENDITEM,
                LAST);
作者: zhulifu    时间: 2010-6-17 17:17
需要用lr_eval_string函数取出前面保存的参数值。
web_submit_data("aspx",
ITEMDATA,
"Name=__VIEWSTATE","Value=lr_eval_string ("{Siebel_Analytic_ViewState6}")", ENDITEM,
作者: 云层    时间: 2010-6-17 17:21
楼上的误导大了。。。汗死


viewstate一般是不需要关联的,你录制的对象应该是asp.net的吧,那么把关联去了就行了,关联失败的原因只是因为抓不到这个包而已,而不是取的错误
作者: xxyyzzz    时间: 2010-6-17 17:29
感觉这个submit不需要关联viewstate。
去掉关联也出错,数据不能成功保存。
操作失败  alert('The communication object, System.ServiceModel.Channels.ServiceChannel, cann
  ot be used for communication because it is in the Faulted state.
以前也做过,不能保存就关联下就可以,现在怎么做都出错。

[ 本帖最后由 xxyyzzz 于 2010-6-17 17:32 编辑 ]
作者: zhulifu    时间: 2010-6-17 17:35
标题: 回复 9# 的帖子
⊙﹏⊙b汗,学习中……
作者: sc_zk2008    时间: 2010-6-17 17:38
先确定这个地方需要做关联不,是否是动态数据
作者: xxyyzzz    时间: 2010-6-17 17:59
终于找到原因了,是另外一个id需要关联。这个viewstate不需要关联。
多谢各位!!!




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