51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3199|回复: 11
打印 上一主题 下一主题

[求助] 怎样参数化飞机订票的点选按钮

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-3 17:16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在QTP的C/S订票系统测试中,我想对选择是头等舱/经济舱/商务舱,这个单选按钮进行参数化。我的想法是产生一个随机数,然后在Set时,用一个随机变量来代替。
Window("Flight Reservation").WinRadioButton("Business").Set
我的随机变量产生方法如下:
Dim x1,x2
Randomize
x1=RandomNumber(1,3)
        If      x1="1"  then  x2="Business"
        else if x1="2"  then  x2="Economy"
        else    x1="3"  then  x2="First "  
End if
Window("Flight Reservation").WinRadioButton(x2).Set
结果在保存时,一直提示我语法错误。我研究了一下,始终不知道问题出在哪里?请高人指点。出错信息见截图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-9-3 18:17:11 | 只看该作者
自己先找到一种解决的办法,见论坛中的这个帖子。不过我的方法理论上应该是可以的啊!还得请高手指点一下!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-9-3 18:17:19 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-9-3 19:13:21 | 只看该作者
参数化需要用描述性变成,比如
WinRadioButton("Business").Set
应该改为WinRadioButton(某属性:=变量).set
这样才是有效的,否则按照楼主的写法是没有办法找到对象的。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-9-3 23:39:02 | 只看该作者
原帖由 liweilovend 于 2009-9-3 17:16 发表
在QTP的C/S订票系统测试中,我想对选择是头等舱/经济舱/商务舱,这个单选按钮进行参数化。我的想法是产生一个随机数,然后在Set时,用一个随机变量来代替。
Window("Flight Reservation").WinRadioButton("Business").Set
我的随机变量产生方法如下:
Dim x1,x2
Randomize
x1=RandomNumber(1,3)
        If      x1="1"  then  x2="Business"
        else if x1="2"  then  x2="Economy"
        else    x1="3"  then  x2="First "  
End if
Window("Flight Reservation").WinRadioButton(x2).Set
结果在保存时,一直提示我语法错误。我研究了一下,始终不知道问题出在哪里? ...


你有2个 If,只有一个 End If
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-9-4 00:29:45 | 只看该作者
是因为缺少end if 的原因吗?说实话,接触qtp快两个月了,我还不知道if是怎么用的.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-9-4 10:21:32 | 只看该作者
首先谢谢dreamsea123和josehp_wh的回答!4楼的说法我明白,可是问题是出现语法错误的地方不是那句话,而是几个if else的语句!我按照5楼说的方法,我加了endif,还是报错!不知道原因!另外附上最终的解决办法!没有用if else语句来实现,使用了select case的方法实现了随机选取的目的。代码如下:
Dim i,b
i=RandomNumber(1,3)
    Select Case i
        Case 1 b="First"
        Case 2 b="Business"
        Case 3 b="Economy"
    End Select
Window("Flight Reservation").WinRadioButton("First").SetTOProperty"text",b
Window("Flight Reservation").WinRadioButton("First").Set
同时希望再有高人指点一下我之前的方法是什么地方出错了?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-9-4 15:24:01 | 只看该作者
最后一个else也应该加if
        If x1="1"  then  
               x2="Business"
        elseif x1="2"  then  
               x2="Economy"
        elseif    x1="3"  then  
               x2="First "  
         End if
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-9-9 18:09:14 | 只看该作者
谢谢,liuxl,用了您的方法,也还是有语法错误!不过还要谢谢你!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-9-9 18:27:27 | 只看该作者
If x1="1"  then  
               x2="Business"
        elseif x1="2"  then  
               x2="Economy"
        else
               x2="First "  
         End if


这样试试,不行的话,就把End If给删掉,再写个end if,我也常遇到这样的问题,就是删掉end if ,再加上就好了,实在不行,重启QTP试试
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-9-9 18:28:33 | 只看该作者
另外,写代码的时侯,要分清层次,别搅在一行
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-9-10 10:23:12 | 只看该作者

回复 10# 的帖子

非常感谢风雪夜归人.先谢谢你,我在你的指导下,终于发现了问题的所在!以下附上最终的解决办法:
Dim x1,x2
Randomize
x1=RandomNumber(1,3)
    If             x1="1"   then  
                    x2="Business"  
    else if    x1="2"   then
                    x2="Economy"
    else            x2="First "  
   end if
   end if
Window("Flight Reservation").WinRadioButton(x2).Set
另外谢谢以上所有的热心的朋友们!此问题已解决。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-20 16:44 , Processed in 0.077428 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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