51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: huaxiaowu
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

41#
发表于 2008-4-23 20:04:25 | 只看该作者
呵呵,大致思路你是知道了,剩下的就是要细心来做,一个个小知识点击破,相信你做完之后会很有收获的~
回复 支持 反对

使用道具 举报

该用户从未签到

42#
 楼主| 发表于 2008-4-24 08:44:47 | 只看该作者
其实现在就很有收获了,看书看来的东西终归不实在,只有踏踏实实地做了,才觉得有底。
看和做绝对是两回事,每个步骤都有要注意的小细节。
问题是,我现在卡壳了,我真的找不出是哪里出了问题,好,就算我知道哪个地方有问题,我也不知道正确的是什么样的,该怎么改……
回复 支持 反对

使用道具 举报

该用户从未签到

43#
发表于 2008-4-24 10:01:39 | 只看该作者
其它的先不说吧,看看你下面这个逻辑
Do
        For i=0 to 9
                If z>0 Then
                        Exit for
                        Exit do
                End If
        Next
loop
你觉得Exit do会被执行么。。。典型的死循环了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

44#
 楼主| 发表于 2008-4-24 10:59:19 | 只看该作者
啊,我总算知道了,EXIT FOR 之后不能EXIT DO
EXIT FOR之后就重新开始FOR了,永远不会EXIT DO
可是这个不是每次都取第一个LINK值的原因……

真的,太谢谢你了,我再看看
我以前从来也没编过程,所以菜了点……
回复 支持 反对

使用道具 举报

该用户从未签到

45#
 楼主| 发表于 2008-4-24 11:15:01 | 只看该作者
我在前面加了个Z=0
然后把DO改成了WHILE Z=0

当然了,还是老样子……
回复 支持 反对

使用道具 举报

该用户从未签到

46#
发表于 2008-4-24 11:22:56 | 只看该作者
呵呵,不着急,慢慢找原因,将可能的因素一个个排除掉,要本着怀疑一切的态度~
回复 支持 反对

使用道具 举报

该用户从未签到

47#
发表于 2008-4-24 13:08:09 | 只看该作者
我现在就学了winnrunner,很想学QTP,各位有没有QTP的安装包啊
回复 支持 反对

使用道具 举报

该用户从未签到

48#
 楼主| 发表于 2008-4-24 16:45:29 | 只看该作者
y=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("x:=17","index:=i").GetTOProperty("innertext")应该改成:
y=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("x:=17","index:="&i).GetTOProperty("innertext")
至于原因,我不是很清楚,好象I是个变量,不能直接写,到底是什么原因呢?难道加了&就将它暂时常量化了?
我改好之后,百度贴吧的那个预定LINK里的值还是取不到,IF语句还是执行不到。
改成百度,就能执行IF语句了

另外Output也还有问题
疯了,怎么这么难搞定……
回复 支持 反对

使用道具 举报

该用户从未签到

49#
 楼主| 发表于 2008-4-25 09:15:51 | 只看该作者
前辈人呢?
OUTPUT到底怎么办……
有没有定义一个变量,然后把一个变量输到DATATABLE里的办法?????
回复 支持 反对

使用道具 举报

该用户从未签到

50#
发表于 2008-4-25 09:33:55 | 只看该作者
DataTable.GlobalSheet.AddParameter  "datatablename", 变量名

上面这个命令就可以将定义的变量写入到datatable中去。
回复 支持 反对

使用道具 举报

该用户从未签到

51#
发表于 2008-4-25 09:56:47 | 只看该作者
1、Link("x:=17","index:="&i)这样写语法和逻辑是没错的~变量需要写在""外
2、注意用GetROProperty来取运行时对象的属性值
3、DataTable赋值可以象普通变量一样,先在DataTable中添加一个列,可以事先手动加也可以用50楼说的方法,然后DataTable(<列名>,<表名>) = <Value>就行了。。。

遇到问题先查帮助然后google,都搞不定然后再问人~
回复 支持 反对

使用道具 举报

该用户从未签到

52#
 楼主| 发表于 2008-4-25 10:14:22 | 只看该作者
万分感谢!!!!!

我终于把这个程序给完成了

请问,楼上的怎么知道这个命令能把变量写到DATATABLE里去的呢?
有没有专门介绍这些命令的资料啊???

太谢谢了!!!
回复 支持 反对

使用道具 举报

该用户从未签到

53#
 楼主| 发表于 2008-4-25 10:24:05 | 只看该作者
原帖由 hsjzfling 于 2008-4-25 09:56 发表
1、Link("x:=17","index:="&i)这样写语法和逻辑是没错的~变量需要写在""外
2、注意用GetROProperty来取运行时对象的属性值
3、DataTable赋值可以象普通变量一样,先在DataTable中添加一个列,可以事先手动加也可以 ...



恩,俺照您说的也试了,果然好用。又学了一点。
帮助和GOOGLE都是英文,看着麻烦,这个不急,还是问人来得方便,呵呵,不好意思啊,麻烦了你这么多。
如果是赶着要的程序,就是看英文再头大,也得硬着头皮看了……
回复 支持 反对

使用道具 举报

该用户从未签到

54#
发表于 2008-4-25 11:08:09 | 只看该作者
原帖由 huaxiaowu 于 2008-4-25 10:14 发表
万分感谢!!!!!

我终于把这个程序给完成了

请问,楼上的怎么知道这个命令能把变量写到DATATABLE里去的呢?
有没有专门介绍这些命令的资料啊???

太谢谢了!!!



VBS编程时会有提示,比如输入:DataTable.,自动会有后跟格式和提示出现,可以帮助学习。呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

55#
 楼主| 发表于 2008-4-25 11:21:45 | 只看该作者
这个太简单了,我看不懂的……
回复 支持 反对

使用道具 举报

该用户从未签到

56#
发表于 2008-4-25 17:35:15 | 只看该作者

回复 51# 的帖子

楼上的大哥能否说说Link("x:=17","index:="&i).中"index:="&i是什么意思啊,&在这里起什么作用?连接字符串?还是。。。。。
谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

57#
 楼主| 发表于 2008-4-28 09:00:48 | 只看该作者
还有没有别的题目可以给我做做的?
现在公司又没什么事做了……
回复 支持 反对

使用道具 举报

该用户从未签到

58#
发表于 2008-4-28 09:27:21 | 只看该作者
原帖由 huaxiaowu 于 2008-4-28 09:00 发表
还有没有别的题目可以给我做做的?
现在公司又没什么事做了……


能否把你做的贴出来,学习下!谢谢

你最后怎么标识每个链接了?
回复 支持 反对

使用道具 举报

该用户从未签到

59#
 楼主| 发表于 2008-4-28 09:34:47 | 只看该作者
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set DataTable("searchitem", dtGlobalSheet)
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
Dim x,y,z,a
        x=datatable("expectitem",GlobalSheet)
        z=0
While z=0
        For i=0 to 9
                y=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("x:=17","index:="&i).GetROProperty("innertext")
                msgbox(y)
                z=InStr(1,y,x,1)
                If z>0 Then
                        a=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("x:=17","index:="&i).GetROProperty("url")
                        DataTable("url",GlobalSheet)=a
                        Exit for
                End If
        Next
        If z=0 then
                Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("下一页").Click
        end if
Wend
回复 支持 反对

使用道具 举报

该用户从未签到

60#
 楼主| 发表于 2008-4-28 09:37:29 | 只看该作者
那个MSGBOX(Y)是测试Y的取值用的,做完以后删了........
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 11:54 , Processed in 0.080782 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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