51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2835|回复: 8
打印 上一主题 下一主题

[原创] QTP的密码参数化问题有人碰到问题吗

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-18 09:42:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
密码参数化,然后用的SetSecure语句,输入8位的纯数字参数的时候提示参数错误,输入9位纯数字参数时候都密码框是空的,其他都能正常,如果用语句set的话,一切正常,请问下有人碰到过这种情况吗
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-18 09:46:51 | 只看该作者
你的问题描述的不是太详细呀!最好举几个例子说明一下,否则别人很难掌握你的情况!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-18 09:54:07 | 只看该作者
密码参数化有两种方式,一种改用Set方法,一种用Crypt对象的Encrypt方法加密后再参数化。

因为SetSecure方法后面必须是加密的字符串,所以你输入的8位数字也好9位数字也好那都只是表示明文,并不是说SetSecure会根据你指定的这个字符串输入密码。
所以你这个时候可以改用Set方法来实现输入密码。

如果你一定要使用SetSecure方法,也可以。举例:
比如密码是 mercury,你用 Crypt.Encrypt("mercury") 可以得到一个值 "464d059be45f8d524b913574b017ed492a8b8d4b"

然后你在SetSecure后面要加上这串密文!而不是你的明文密码。
不知道你明白了没有?


原帖由 kevinsir 于 2007-5-18 09:42 发表
密码参数化,然后用的SetSecure语句,输入8位的纯数字参数的时候提示参数错误,输入9位纯数字参数时候都密码框是空的,其他都能正常,如果用语句set的话,一切正常,请问下有人碰到过这种情况吗
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-18 09:56:06 | 只看该作者
好像对SetSecure方法的理解不对吧?这个方法的参数怎么会有8位或者9位呢。

SetSecure方法:
object.SetSecure Text
其中的参数Text,是QTP对密码的明文经过加密算法生成的一个字符串。其目的是保护测试脚本和测试数据中的密码信息。

生成Text字符串的方法:
1. 录制方式
QTP录制脚本的时候,遇到密码输入的WebEdit类型。QTP自动生成
WebEdit("***").SetSecure "***************"
2. 手工方式
QTP工具里面有一个Password Encoder,输入代码明文,可以Generate一个加密后的字符串。
这个字符串才是SetSecure的参数。这个工具可以从开始菜单的QTP程序组里面找到。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-5-18 10:12:55 | 只看该作者
谢谢3楼的,那个方法我用了,可以,但是问题是,为何我不加密的话,有的密码是对的,比如123456这样的密码,我输入的话,就正确,但是12345678就会提示我参数不正确,而123456789则在密码框里是空白
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-5-18 10:20:34 | 只看该作者
我在想你是不是想表达这样的意思,那你用正确的用户名比如username_a和正确的密码比如123456,不管你用set"123456"还是setsecure"123456",脚本运行后,都能正确的登入页面?
而当你用正确的用户名username_b和正确的密码12345678时,用set或setsecure就会提示参数错误?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-5-18 10:22:49 | 只看该作者
恩,对,当username_b和正确密码12345678时用set是对的,用setsecure就 提示参数错误
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-5-18 11:55:01 | 只看该作者
兄弟你钻牛角尖了。
确实如你说的用12345678是对的,那是因为SetSecure这个方法在设置尝试失败之后会自动启用Set方法。
密文具有一定的特征性,而这个方法可以自行判断。

其实你没有必要在这个问题上钻牛角尖,真的。



原帖由 kevinsir 于 2007-5-18 10:22 发表
恩,对,当username_b和正确密码12345678时用set是对的,用setsecure就 提示参数错误
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-5-18 14:44:26 | 只看该作者
看了版主的回复,又学了点~~谢谢~~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-12 08:25 , Processed in 0.077214 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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