51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3605|回复: 13
打印 上一主题 下一主题

[原创] 为什么关联值没用的时候能取到值,用在函数中提示没有匹配的参数?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-17 16:08:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是位置不正确吗?
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,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-6-17 16:22:44 | 只看该作者
没看明白你要做什么
而且。。
上面Siebel_Analytic_ViewState
下面Siebel_Analytic_ViewState6
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-6-17 16:28:59 | 只看该作者
写错了
都是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},就提示没有匹配参数
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-6-17 16:36:42 | 只看该作者
脚本内容太少了,没法确定什么问题
web_reg_save_param,所有reg类型的函数都是用在获取之前的,这和一般思维上有不同,为的是节省脚本自身性能
比如打开页面是url,ViewState出现在Url的请求里,提交是submit,这里需要提交ViewState
那么顺序就是
web_reg_save_param
url
submit
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-6-17 16:42:46 | 只看该作者
是打开页面有一个viewstate,但增加数据时函数有viewstate和打开页面的viewstate值不一样。
web_reg_save_param(1)
url(1)
web_reg_save_param(2)
submit(2)
如果submit(1)提示参数无效。
如果submit(2)提示视图被损坏。
1,2代关联函数名
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-17 17:05:39 | 只看该作者
web_reg_save_param  抓取 viewstate
url        返回页面信息中含有 viewstate
submit     提交需要 viewstate

用这个顺序就可以了
不需要2个
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-6-17 17:09:32 | 只看该作者
可是一直提示回传参数无效。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-6-17 17:14:41 | 只看该作者

这个应该很像了吧,自己对着改

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);
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-6-17 17:17:00 | 只看该作者
需要用lr_eval_string函数取出前面保存的参数值。
web_submit_data("aspx",
ITEMDATA,
"Name=__VIEWSTATE","Value=lr_eval_string ("{Siebel_Analytic_ViewState6}")", ENDITEM,
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-17 17:21:16 | 只看该作者
楼上的误导大了。。。汗死


viewstate一般是不需要关联的,你录制的对象应该是asp.net的吧,那么把关联去了就行了,关联失败的原因只是因为抓不到这个包而已,而不是取的错误
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-6-17 17:29:53 | 只看该作者
感觉这个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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-6-17 17:35:32 | 只看该作者

回复 9# 的帖子

⊙﹏⊙b汗,学习中……
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-6-17 17:38:38 | 只看该作者
先确定这个地方需要做关联不,是否是动态数据
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2010-6-17 17:59:21 | 只看该作者
终于找到原因了,是另外一个id需要关联。这个viewstate不需要关联。
多谢各位!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-29 08:21 , Processed in 0.070813 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表