51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10306|回复: 67
打印 上一主题 下一主题

[原创] IF语句中的内容执行不了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-16 19:33:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
其实是很简单的IF语句,因为我第一次用,所以怎么也找不到问题出在哪里,请各位高手帮忙(PS:目前我只会录制,然后参数化)
语句如下:
If  ESH=1  Then
    OracleFormWindow("Master Item").OracleCheckbox("Assign Item to Organization").Select
End If
ESH是测试中没有出现过的数据,我在Action Call Properties的Parameter Values里加了,并参数化在了Data Table里。

就是想判断这个输入参数是1的话,就在checkbox里打勾,不是的话就执行下一步。

但QTP不管输入参数是多少,都不执行,直接往下一步走,到底是我输入参数设置上有问题,还有IF语句有问题呢?
请帮帮忙,不胜感激~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-4-16 21:15:10 | 只看该作者
在if语句上面加一句
msgbox ESH

可以帮你在两个问题中排除一个。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-17 08:44:50 | 只看该作者
好办法,谢谢photon,教了我办法,而不是给个答案

加了MSGBOX之后,发现没有ESH的值,ESH的值要怎样加入才行呢?
我先在Action Properties的Parameters里设了一下,又在Action Call Properties的Parameter Values中参数化在了Data Table里,还是没有值,这样的值我要怎么设才行?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-17 09:42:38 | 只看该作者
用Parameter("ESH")替换ESH
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-17 09:53:58 | 只看该作者
ESH=DataTable("",GlobalSheet)
你在GLOBAL里面难道没传值么?

汗,录制,说实在话,录制我还真不太懂,我会写,叫我录制,我还真要去学习学习,以前好像用过,可忘记了,后来基本都用写的了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-4-17 10:07:16 | 只看该作者
hsjzfling,你说的我不是很懂。。。。。。
Dim ESH
parameter DataTable("ESH", dtGlobalSheet)
msgbox (ESH)

这样的话,QTP会说parameter语句缺少对象……
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-17 10:09:47 | 只看该作者
LZ看看我写的定义,希望对你有帮助

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-4-17 10:10:41 | 只看该作者
谢谢鹭鸟,现在可以了。。。。
我原先写的是ESH=DataTable("",dtGlobalSheet),这个不行,所以……
谢谢谢谢……

我太菜了……
我会好好学习的……
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-4-17 10:10:56 | 只看该作者
DataTable里面一定要定义一个你那个DataTable(“X”,GlobalSheet)   如果这个引号里面取值叫X,那DATATABLE里面也要定义一个X来对应
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-4-17 10:12:55 | 只看该作者
原帖由 huaxiaowu 于 2008-4-17 10:10 发表
谢谢鹭鸟,现在可以了。。。。
我原先写的是ESH=DataTable("",dtGlobalSheet),这个不行,所以……
谢谢谢谢……

我太菜了……
我会好好学习的……

不客气,其实我也是个半桶水,输入自动化搞了1年多了,可好像也觉得没什么可学的,可真正碰到问题却发现自己也不会,哎~~~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-4-17 10:12:56 | 只看该作者
谢谢你还写出来,真的很感谢,哈哈,搞定了~
呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-4-17 10:15:40 | 只看该作者
有dt和没有dt有什么差别呢?
我是看别人的学习心得,看他们都是加了dt写的……
好像是取值来着……

我才刚学,不过倒觉得QTP挺有意思的,功能很强大啊
我现在不是用它测试,是用它来往数据库里输数据……data input……
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-4-17 10:29:10 | 只看该作者
原帖由 huaxiaowu 于 2008-4-17 10:15 发表
有dt和没有dt有什么差别呢?
我是看别人的学习心得,看他们都是加了dt写的……
好像是取值来着……

我才刚学,不过倒觉得QTP挺有意思的,功能很强大啊
我现在不是用它测试,是用它来往数据库里输数据……data  ...

这个还真难道了,以前知道点,现在真的忘记了,我记得好像是带DT的比较狭隘,而不带DT的范围广,所以从我开始使用QTP没多久后就一直使用不带DT了
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2008-4-17 10:38:36 | 只看该作者
原来如此……
以后我也不带DT了,哈哈

输入自动化,我现在在做的事情好象跟你很像。
QTP已经在欢快地跑了,我换台电脑继续学习去,真的很感谢,以后多向你请教,继续多逛这个论坛,哈。

解决了这个问题,我好开心,呵呵,可是又不能在办公室大叫我很开心……
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-4-17 11:17:25 | 只看该作者
QTP最主要有人指导,想当初我自己看文档,什么狗屁看了一个多月,几个字形容:对牛弹琴吧,可能我领悟能力差吧!
后来我同事的帮助下,3天搞定QTP了,后来想想,QTP真的没什么,很简单,要看路走对了还是歪了,前面看些文档仅仅是了解,后来有人指导,那才真的快速理解!一定要有人指导,这样绝对是事半功好几倍,如果没人指导靠自己,浪费太多时间!

弄清楚对象库,属性,简单的VBS,基本上可以应付简单的WEB的自动化测试了
然后慢慢把脚本语言加深,数据库,VBS的加深这样基本就可以出师了(恐怕也是所谓的半桶高手了)
你还是新手,先弄懂前面3个
现在9.0开始对于对象库的添加已经相当简单了,不像以前我使用8.2那么麻烦,你可以简单写个百度的脚本
方法:首先把百度这个BROWSER,PAGE添加进对象库(底下可以不添加任何控件,然后在PAGE底下加入WEBEDIT和Link,WebElement,Image,BUTTON这个几个部件够描述百度打扮江山了
简单的描述下如何查找(百度查找如何使用QTP)
1.对象库已经建立好
2.可以简单写脚本了 ,如:(我仅仅简单描述,不是很相信,在公司不能开QQ,不然可以更细指导你)
Browser("百度").Page("百度").WebEdit("输入框").Set "厦门"
Browser("百度").Page("百度").WebButton("查找").Click    '这个已经实现了在百度中查找"厦门"这个词了,其他类似
比如连接就是Browser("百度").Page("百度").Link("属性:=MP3").Click  '为了让你看的清楚我吧“:”强化了,这个就完成了连接到MP3的情况了
对你来说简单的WEB就是一个BROWSER下的PAGE内的各个控件的操作!(用录制的时候你会发现有什么PAGE1,PAGE2....,用写脚本统统都是一个PAGE,没有所谓BROWSER下有好几个PAGE的对象库(只有录制才会出现)
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2008-4-18 11:13:32 | 只看该作者
我现在就在自己摸索啊,看user guider看了2个星期,看着倒是觉得不难,一做起东西来,好痛苦……5555
主要我现在人在新加坡,有些东西,问同事也问不清楚,即使是说华语的同事,说的华语跟我们也不大一样,沟通有问题啊……
更何况交代任务的是印度大师兄……卷舌卷得英语我听起来都很痛苦。

还好今天上来论坛看了一下自己的帖子。
好人啊!!

可是现在还要做个一个workflow的测试,下午大师兄还有任务,你说的这个我只能周末自己去捣鼓了……下班后再细看

下午的任务,希望不要太难……

我本来打算开始看对象模型参考的,可是那个只有英文版,看起来很痛苦
也看了一个VBS的入门教程,讲了循环语句、N维数组和函数、子程序,对编程者来说很浅的内容,但对我……

我也知道最好还是实践写脚本,可是都不知道该怎么入手
真是谢谢前辈,有个方向就可以捣鼓捣鼓了:)
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2008-4-18 11:13:42 | 只看该作者
我现在就在自己摸索啊,看user guider看了2个星期,看着倒是觉得不难,一做起东西来,好痛苦……5555
主要我现在人在新加坡,有些东西,问同事也问不清楚,即使是说华语的同事,说的华语跟我们也不大一样,沟通有问题啊……
更何况交代任务的是印度大师兄……卷舌卷得英语我听起来都很痛苦。

还好今天上来论坛看了一下自己的帖子。
好人啊!!

可是现在还要做个一个workflow的测试,下午大师兄还有任务,你说的这个我只能周末自己去捣鼓了……下班后再细看

下午的任务,希望不要太难……

我本来打算开始看对象模型参考的,可是那个只有英文版,看起来很痛苦
也看了一个VBS的入门教程,讲了循环语句、N维数组和函数、子程序,对编程者来说很浅的内容,但对我……

我也知道最好还是实践写脚本,可是都不知道该怎么入手
真是谢谢前辈,有个方向就可以捣鼓捣鼓了:)
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2008-4-18 11:41:22 | 只看该作者
持之以恒,突破是一瞬间的事情
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-4-18 13:22:46 | 只看该作者
原帖由 huaxiaowu 于 2008-4-17 10:15 发表
有dt和没有dt有什么差别呢?
我是看别人的学习心得,看他们都是加了dt写的……
好像是取值来着……


dtLocalSheet,dtGlobalSheet等实际是QTP定义的变量,具体是什么值你都可以用msgbox或者debug view查看下。
DataTable(<column name>,<sheet name>),具体参数可以写些什么值,在帮助中搜索下就知道了,比如我要取globalsheet中第一列的参数值,那么可以简单的写为DataTable(1,1)。只有弄清楚每个对象每个方法的详细信息才能更便捷的去使用它们。而去了解这些信息的最好方法就是查帮助。

当然,从完全不会开始学习qtp的话,有人指导会事半功倍,等大致知道怎么使用之后,除非你交钱去学,否则很难有人会耐心的教你每一个细节,因此剩下的主要靠自己学了。

自学主要就是多用,多测,多想。遇到搞不定的问题,1、查帮助,2、google,3、问人
这样学起来才快

在论坛上帮别人解决问题,实际上也是自我完善、复习的过程,一个人遇到的问题总是有限的,综合大家的有价值的问题,学习起来就会快很多
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2008-4-18 13:28:59 | 只看该作者
多做些实际问题,比如之前有家公司面试时,就让我40分钟内完成一个脚本,大致要求是
在百度上依次输入指定的关键字(写在DataTable第一列)->搜索->在查找到的结果中找到与预期相匹配的链接(当前页找不到就翻下一页)(预期值写在DataTable第二列)->将链接的url保存在DataTable第三列
做的过程中还是有些小问题要比较注意的,可以尝试做做看
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 16:45 , Processed in 0.081053 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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