51Testing软件测试论坛

标题: [已解决]QTP:参数化的问题 [打印本页]

作者: ljing0310    时间: 2009-1-20 15:44
标题: [已解决]QTP:参数化的问题
参数化后,如何查看每次运行时所提取的DataTable中的值。
还请各位高手指点一下。谢谢

[ 本帖最后由 ljing0310 于 2009-1-22 11:36 编辑 ]
作者: ljing0310    时间: 2009-1-20 16:38
我是录制QTP自带的飞机订票的例子 录制的是注册和登陆两个模块。先进行注册,用注册的用户名进行登陆操作。
将REGISTER页面中的User Name、Password、Confirm Password参数化后,进行回放,在Data Table中的其中一行数值设定的是 l j3、2749046、2749,进行回放后发现竟然运行通过。所以想查看在录制时所提取的参数的值。注:其他文本框或下拉框的值时通过Result看到的,但是在Results中password、Confirm Password的值不显示。
所以想看看有没有别的办法查看到每次运行时所提取的参数的值。
作者: asoqa    时间: 2009-1-20 16:52
DataTable.Value(ParameterID [, SheetID])
具体用法看帮助
作者: ts47284    时间: 2009-1-20 16:58
来看看了呀
作者: ljing0310    时间: 2009-1-21 10:29
原帖由 asoqa 于 2009-1-20 16:52 发表
DataTable.Value(ParameterID [, SheetID])
具体用法看帮助

我用DataTable.Value这个函数,在Expert View中这样写的,红色部分是我添加的,老出问题,不知道写的对不对:
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("email").Set DataTable("username", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").SetSecure DataTable("password", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").DataTable.Value(2, dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("confirmPassword").SetSecure  DataTable("confirmpasswd", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("confirmPassword"). DataTable.Value(3, dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").Image("register").Click 5,5

在Information中报错:
Cannot use parentheses when calling a Sub

还请帮忙指点一下啊 多谢

[ 本帖最后由 ljing0310 于 2009-1-21 10:31 编辑 ]
作者: happychap    时间: 2009-1-21 11:20
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").DataTable.Value(2, dtGlobalSheet)

语法都不对...,应该是这样子的:
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").SetSecure  DataTable.Value(2, dtGlobalSheet)
作者: ljing0310    时间: 2009-1-21 11:55
原帖由 happychap 于 2009-1-21 11:20 发表
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").DataTable.Value(2, dtGlobalSheet)

语法都不对...,应该是这样子的:
Browser("Welcome: Mercury Tours").Page("Regi ...

我这样写过了,但是感觉和不写是一个样子的。其实我是想把运行时脚本刚刚输入的password的值给提取出来。这个值在我的脚本中读取的是Data Table中的。还是没有解决
另:在Results中找到了运行时参数password提取的值了,见下图。

还是谢谢各位帮忙,不过我还是不知道怎么用DataTable.Value来提取参数的值。
作者: asoqa    时间: 2009-1-21 13:21
你是想调试吧,要调试无非两种方法,一种用msgbox 把DataTable的值打印出来,二是用debug模式查看值。
作者: ljing0310    时间: 2009-1-22 10:40
原帖由 asoqa 于 2009-1-21 13:21 发表
你是想调试吧,要调试无非两种方法,一种用msgbox 把DataTable的值打印出来,二是用debug模式查看值。


谢谢 asoqa ,用msgbox,该问题解决;

解决方法:
在Expert view中,红色部分是添加的脚本,可以弹出窗口,显示提取的password值。
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("password").SetSecure DataTable("password", dtGlobalSheet)
Dim password
password=DataTable("password",dtGlobalSheet)
MsgBox password
Browser("Welcome: Mercury Tours").Page("Register: Mercury Tours").WebEdit("confirmPassword").SetSecure  DataTable("confirmpasswd", dtGlobalSheet)




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