51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

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

[复制链接]

该用户从未签到

21#
发表于 2008-4-18 16:30:57 | 只看该作者
这个问题应该给我们初学的人来说,还是会碰到好多问题的哦!多教我!
回复 支持 反对

使用道具 举报

该用户从未签到

22#
 楼主| 发表于 2008-4-21 08:54:16 | 只看该作者
原帖由 鹭岛 于 2008-4-17 11:17 发表
QTP最主要有人指导,想当初我自己看文档,什么狗屁看了一个多月,几个字形容:对牛弹琴吧,可能我领悟能力差吧!
后来我同事的帮助下,3天搞定QTP了,后来想想,QTP真的没什么,很简单,要看路走对了还是歪了,前面 ...



如果不录制,直接手写,我真的不知道怎么入手……
如果先录制,在自己加些步骤或对象,好象还好一点,用那个指标手指一下就可以添加对象了,用那个侦探头象的对象SPY,就可以查对象属性,这样来添加一些步骤,对我来说还不是很难。
直接写……
回复 支持 反对

使用道具 举报

该用户从未签到

23#
 楼主| 发表于 2008-4-21 08:56:15 | 只看该作者
原帖由 hsjzfling 于 2008-4-18 13:28 发表
多做些实际问题,比如之前有家公司面试时,就让我40分钟内完成一个脚本,大致要求是
在百度上依次输入指定的关键字(写在DataTable第一列)->搜索->在查找到的结果中找到与预期相匹配的链接(当前页找不到就翻下一页)( ...



这个有意思,你当时可以录制吗?还是直接拿白纸写?
可以有电脑用QTP、开百度吗?

我周末去了圣淘沙玩,没能上论坛,也没学什么,呵呵……
回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2008-4-21 09:46:39 | 只看该作者
[quote]原帖由 huaxiaowu 于 2008-4-21 08:56 发表

有几个问题:
1、如果用中文输入法,ACTIVE SCREEN里录下来的就是乱码,如果用英文输入法,就不是乱码了。怎样才能用中文输入法也不是乱码呢?
2、怎样让第二列的预期值与百度搜索出来的值相比较,是不是要先取百度上搜索出来的那些WEBELEMENT,自己手动添加到对象库里?然后和他们的TEXT值进行比较?这个有点难,我不知道到底要怎么操作。录制的时候,找到后录制下来的对象类型是LINK,不是WEBELEMENT,但SPY出来是WEBELEMENT。
3、录制的时候,点击找到的网页,是录制不下来的,这样就没办法取那个URL了,所以,这个是不是也要手动添加?
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2008-4-21 10:09:25 | 只看该作者
原帖由 huaxiaowu 于 2008-4-21 08:56 发表



这个有意思,你当时可以录制吗?还是直接拿白纸写?
可以有电脑用QTP、开百度吗?

我周末去了圣淘沙玩,没能上论坛,也没学什么,呵呵……


当然可以,给你一台连接网络的笔记本,软件都装好了,现场做脚本~不过我当时50分钟才完成~~
回复 支持 反对

使用道具 举报

该用户从未签到

26#
 楼主| 发表于 2008-4-22 13:41:40 | 只看该作者
现在开始看对象模型参考了,虽然是英文的,看起来很痛苦,但还是必须得看啊
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2008-4-22 16:13:58 | 只看该作者
hsjzfling 兄弟说说怎么把摆度上面的连接取下来与预期值比较呢? 这个很困扰啊。
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2008-4-22 16:46:40 | 只看该作者
原帖由 terrylight 于 2008-4-22 16:13 发表
hsjzfling 兄弟说说怎么把摆度上面的连接取下来与预期值比较呢? 这个很困扰啊。




偶也非常期待早日看到答案!
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2008-4-22 17:36:22 | 只看该作者

回复 27# 的帖子

取Link的innertext属性,然后用Instr,或者RegExp.Test方法比较Link是否包含了预期值
回复 支持 反对

使用道具 举报

该用户从未签到

30#
 楼主| 发表于 2008-4-23 11:04:17 | 只看该作者
hsjzfling,能不能麻烦你帮我看一下下面这个脚本,按照你说的我写了一下。
但是取不到INNERTEXT的值,我想大概是因为LINK属性里没有INDEX属性的关系

Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set DataTable("searchitem", dtGlobalSheet)
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
Dim x,y,z
        x=datatable("expectitem",GlobalSheet)
Do
        For i=0 to 9
                y=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("class:=Link","index:=i").GetTOProperty("innertext")
                z=InStr(1,y,x,1)
                If z>0 Then
                        Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("class:=Link","index:=i").Output.CheckPoint("url")               
                        Exit for
                        Exit do
                End If
        Next
        Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("下一页").Click
loop

我在写Link("class:=Link","index:=i")时,没有出错显示,是不是表明QTP是能找到这个对象的?
但是我MSGBOX(y)的值始终为空,是不是找不到LINK对象所以取不了INNERTEXT的属性呢?
SPY了LINK的属性里,没有INDEX,但是不这样我不知道该怎么一个一个地去取LINK的INNERTEXT进行比较了

麻烦帮忙看一下
回复 支持 反对

使用道具 举报

该用户从未签到

31#
 楼主| 发表于 2008-4-23 13:59:10 | 只看该作者
帮助是全英文的,看起来太痛苦了........
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2008-4-23 14:20:28 | 只看该作者
一定要习惯英文文档啊,否则提高起来很困难的,测试技术方面,国内比起国外确实还有很大差距

你要弄明白GetTOProperty与GetROProperty的差别先~
回复 支持 反对

使用道具 举报

该用户从未签到

33#
 楼主| 发表于 2008-4-23 14:34:19 | 只看该作者
我知道这两个的差别……
用取TEST属性还可以运行程序,只是取到的Y值为空而已,用取RUNTIME属性的话,程序都无法运行,找不到匹配的对象。

我想,是不能用INDEX来描述对象吧,但是如果是这样的话,这个程序要如何来实现取页面上的每一个LINK的INNERTEXT属性进行比较呢?
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2008-4-23 15:08:42 | 只看该作者
提示下错误吧~将"class:=Link"改为"micclass:=Link"或者干脆去掉这个属性,可以考虑html tag等属性,用来筛选掉比如:上阿里巴巴找XXX等广告链接
GetToProperty改为GetROProperty

[ 本帖最后由 hsjzfling 于 2008-4-23 15:12 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

35#
 楼主| 发表于 2008-4-23 15:34:34 | 只看该作者
明白了,谢谢谢谢,感激不尽!!
不过HTML TAG为A的还有新闻这些,所以改成HTML TAG的话Y值取出来全是新闻
然后我就找了跟新闻不一样的属性X:=17,结果又只能取第一个LINK的值了

我再看看还有没有其他属性,真是太感谢了~~~

[ 本帖最后由 huaxiaowu 于 2008-4-23 15:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

36#
 楼主| 发表于 2008-4-23 15:46:39 | 只看该作者
我设了好几种……
都只能取每页第一个LINK的INNERTEXT值……
回复 支持 反对

使用道具 举报

该用户从未签到

37#
 楼主| 发表于 2008-4-23 16:02:39 | 只看该作者
是不是INDEX没有用?
对象属性里没有INDEX……
回复 支持 反对

使用道具 举报

该用户从未签到

38#
发表于 2008-4-23 17:17:52 | 只看该作者
提示:循环控制语句的问题,再仔细斟酌一下逻辑
回复 支持 反对

使用道具 举报

该用户从未签到

39#
 楼主| 发表于 2008-4-23 17:46:34 | 只看该作者
do 和loop之间的内容反复执行,直到if语句为真跳出循环为止
for和next之间的内容起始 i为0,if语句为假 不执行,然后i加1,GetROProperty取到下一个的innertext值,我在这里有MSGBOX出Y和i的值,i递增,Y始终为第一个LINK的值,我实在是看不出哪里出了错……

也就是说,第二次输出I是1,但Y还是第一个LINK的值,两个MSGBOX连在一起的

[ 本帖最后由 huaxiaowu 于 2008-4-23 17:55 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

40#
 楼主| 发表于 2008-4-23 18:02:46 | 只看该作者
事实上,我运行过很多遍,用过X,HEIGHT两种不同属性(这两个的话,百度上一页10个LINK是一样的,并且和新闻、广告那些LINK不同)
有时Y始终是第一个LINK的值,有时Y始终是第三个LINK的值

我今天公司没活做,倒腾这个倒腾了一整天了……
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 02:37 , Processed in 0.078996 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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