51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3059|回复: 8
打印 上一主题 下一主题

[原创] 转贴一个外文论坛中的一个问题. 已有答案.先把问题提出.大家试试看如何做?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-18 10:42:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
go to  http://www.liveitup.com/travel/search.air     当你选Round-Trip 时Return Date 这行出现. 这时If Browser("Find Flights, Vacation").Page("Find Flights, Vacation").WebEdit("date2").Exist Then  msgbox "Exist"  End If  显示"EXIT" 没问题.  当你选one-way 时Return Date 这行消失. 但你此时再用 If Browser("Find Flights, Vacation").Page("Find Flights, Vacation").WebEdit("date2").Exist Then  msgbox "Exist"  End If  仍然显示"EXIST". 奇怪.明明WEBEDIT("DATA2") 不存在了.为什么还显示存在?

问题:  对这个网页.用QTP 如何判断此时在这页面里Retrun Date 或 (webedit("date2")存在还还是不存在?
别人已讨论好了.我们也讨论讨论啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-4-18 11:51:23 | 只看该作者

怎么没人有兴趣试试啊

UP
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-4-18 14:55:49 | 只看该作者
henhenchen兄说的网站打不开,不过我找了另外一个有类似功能的页面。
选择下拉框,随着下拉框的内容的变化,下面输入项也跟着一起变化。
仔细分析它的实现方式,是在那些需要变化显示的TR上增加了class这个属性,然后在JS中用样式来控制是否显示该行。
所以,去获取输入框的属性时,包括Exist,visible时,这个输入框的样式都是不变,变化的是该行所在的TR的样式
WebElement("html tag:=TR","id:=XXX").getROProperty("visible")

不知道是否与你说得页面的实现方式是一致的?

附件是我说的这个页面。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-4-18 21:22:10 | 只看该作者

回 mstiunicon

对. 思路和你的一样. 你用. WebElement("html tag:=TR","id:=XXX").getROProperty("visible") 可以判断你的页面吗? 其中"id:=XXX" 这个ID 的值你从哪里得到.用SPY 吗? 还有你怎么能确定TR这个WEBELEMNET 有visible 这个属性. 都用SPY 就可以了吗? 我是新手.你能不能说的详细点.谢谢. 以下是他们的思路: 和我的理解:
1. 不管WEB是用什么写的(JAVA .NET ) 我们能看到的只是HTML 页面 .QTP 在运行时只读取HTML源码 .所以要是知道了HTML 的源文件.我们可以用过读相应的源码.就可以猜到QTP 是用什么来判断和运行的.  点右键在一个页面--VIEW SOURCE  得到SOURCE CODE.

2 象我这个例子要是判断此时在这页面里Retrun Date 或 (webedit("date2")存在还还是不存在? 第一眼我们肯定回用....EXIST() 来判断. 不过要是有问题.就要用你的思路了.

3.我用SPY 好象不能找到TR的属性和ID(你能说说看怎么用SPY.谢谢) .所以 1) 打开SOURCE CODE 2) 找到Retrun Date 所在CODE 中的位置. 发现他在一个TR 中.进尔找到这个TR的ID ="returnDateRow" 但你在这个TR 中,有关的STYLE/CLASS 并不是我们想要的(有时在这里你就能发现象VISIBLE 等我们象要的东西)  3) 再在CODE 中找"returnDateRow"
可以发现他出现在两个FUNCTION 中. 其中有这些 var returnDateRow = document.getElementById("returnDateRow");If (returnDateRow != null) {                        returnDateRow.style.visibility = "hidden";   var returnDateRow = document.getElementById("returnDateRow");if (returnDateRow != null) {                        returnDateRow.style.visibility = "visible";
哈哈. 这不是我们想要的吗.

4.所以 只要用.Browser("Find Flights, Vacation").Page("Find Flights, Vacation").object.getElementById("returnDateRow").style.visibility 就行了.

提出来看看大家有没有更好的思路. 谢谢

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-4-18 21:58:15 | 只看该作者
Browser("Find Flights, Vacation").Page("Find Flights, Vacation").object.getElementById("returnDateRow").style.visibility
这种用法倒是没有试过,长见识了。
我写的脚本倒是没有仔细调试过,嘿嘿,见笑了。明天好好看看
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2007-6-11 16:09:49 | 只看该作者

    顶一个!

    http://bbs.51testing.com/thread-79067-1-1.html

    不错不错,我就是靠这个方法解决问题的!  sdlkfj3 sdlkfj3 sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-6-13 11:22:00 | 只看该作者
    我想问问style.visibility的返回值都有什么??我从哪可以查到这方面的内容??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-8-10 02:25:28 | 只看该作者
    LET ME TRY
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-8-15 16:47:59 | 只看该作者
    学习一下
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 14:38 , Processed in 0.078960 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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