51Testing软件测试论坛

标题: QTP高手进来指点下把 [打印本页]

作者: linnawang    时间: 2007-9-7 15:24
标题: QTP高手进来指点下把
使用qtp测试修改密码的功能时,本来是把新的密码用insert output value输出的,作为下次新密码的输入,但运行结束后,value只能在run_time datatable显示,怎么设置才能让整个脚本循环使用啊。请各位高手指点下,谢谢。
作者: walker1020    时间: 2007-9-7 22:30
不是很理解你的问题,能否说具体 详细一些?

[ 本帖最后由 walker1020 于 2007-9-7 22:57 编辑 ]
作者: hsjzfling    时间: 2007-9-7 23:17
回楼主,虽然只能在runtime datatable中显示,但是实际上你在运行时是可以去调用datatable中那个值的,尝试下就知道了~
作者: zhumingwei    时间: 2007-9-8 00:02
回楼主:只要你的当前脚本没有退出运行就可以使用output value,直接使用datatable("outvalue",globalsheet)就可以了
作者: winfood    时间: 2007-9-8 13:25
原帖由 linnawang 于 2007-9-7 15:24 发表
使用qtp测试修改密码的功能时,本来是把新的密码用insert output value输出的,作为下次新密码的输入,但运行结束后,value只能在run_time datatable显示,怎么设置才能让整个脚本循环使用啊。请各位高手指点下 ...


LZ问题没有说清楚,害得大家都在猜sdlkfj5

你需要的是:
Step 1) 运行一次脚本,输入用户名和密码;
Step 2) 脚本执行过程当中修改了一次用户密码,记录下来新的密码;
Step 3) 再次运行脚本,输入用户名和Step2保存的新密码

QTP的DataTable特点是:
在脚本里面用Output Value以及DataTable.Value赋值的方法都只能修改DataTable的运行时(RunTime)内容,这些内容是不会保存的。

解决的办法:
a) 把这些需要变更和保存的数据单独设计成外部数据,用Excel表格保存。在测试脚本中间加入读写Excel文件的语句;
注:这种方法用到了Excel读写的操作,可以搜索论坛和QTP的Sample Code。网上也可以找到VBScript的Sample Code。

b) 在程序开头和结尾处分别加入DataTable导入和导出操作,让每次运行的RunTime数据保存成外部Excel供下次使用。例如:
'The first line of the script
DataTable.Import(******)

'The main block of the script
'*********************
'....................................
'*********************

'The last line of the script
DataTable.Export(******)
注:这种方法用了DataTable.Import和DataTable.Export两种方法,查询一下QTP帮助。
作者: walker1020    时间: 2007-9-8 13:59
如果楼主能看懂楼上给你提供的solution, 并据此实施,你的问题应该能得到解决
作者: linnawang    时间: 2007-9-8 16:58
谢谢各位的指点,抱歉我的问题没说清楚。我的意思是录入脚本时,原是密码是123456,修改密码后改为456789。这个脚本跑一次是没问题的,跑第二次的时候就不行了,密码已经修改了。这个脚本怎么修改才能执行多次。谢谢
作者: uruuru    时间: 2007-9-8 17:17
你的意思是说: 先用老密码登陆,进程序里修改老密码,然后再重用修改后的新密码登陆 是这样对吧?
     如果是这样把登陆密码和 要修改的密码 两个用普通的参数化也可以解决啊
作者: hsjzfling    时间: 2007-9-8 20:54
回楼主,可以将你的密码保存在一个外部文件中(.txt/.xls等都可以,初始状态存放目前的密码),登录时去外部文件中取出密码值,修改完后再将这个值导出(覆盖原有值或者再原有的值后添加一行,可根据实际需要看是否要保存曾经使用过的密码记录)。




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