51Testing软件测试论坛

标题: 关于RFT和多浏览器 [打印本页]

作者: neverleo    时间: 2008-12-31 09:56
标题: 关于RFT和多浏览器
遇到个问题,想请教一下:
我这里RFT测的项目(一个web-based项目)需要分别完成在IE和Firefox中的测试,
问题是通过录制抓取对象观察到,在IE和FF中抓取的对象属性不同,如:
在IE中,抓取的浏览器属性有.class = Html.HtmlBrowser,输入文本框有.class = Html.INPUT.Text等;
而在FF中,浏览器对应属性为.class = MozillaUIWindowClass,文本为.class = .Text;
这样的话用find动态抓取对象时不能用同一份脚本,或者说得在给find传参数之前判断是IE或者是FF,也就类似的准备了两份脚本;
据我目前观察,IE中抓取的对象是Html这一类的,而FF中抓取的对象是属于Win的,我不清楚导致这一区别的原因(也在此询问一下),而我又想仅使用同一份脚本即完成在IE和FF上的测试,不知有没有可用的solution?
谢谢了!
作者: shinsakura    时间: 2008-12-31 10:00
通过.id?
选取其他的属性不行嘛?
作者: neverleo    时间: 2008-12-31 11:09
标题: 回复 2# 的帖子
我通过抓取对象观察,他们的其他属性也有很大的不同,比如命名规则,也比如FF中抓取的文本框没有.id属性,(另外.class应该是一个比较基本常用的比较属性吧我感觉)
我想这里主要是由于RFT抓取对象时将IE看作HtmlBrowser而将FF看作WinForm,但不知道这是为什么...应该怎么处理...
作者: shinsakura    时间: 2008-12-31 13:20
.class有时候也没有,我目前手上的项目就是
还有的就是:有的时候比如一些东西是动态生成的,如表格,DIV等。
种种
作者: shinsakura    时间: 2008-12-31 13:21
如果那样的话,你怎么处理?
作者: neverleo    时间: 2008-12-31 14:33
标题: 回复 5# 的帖子
既然用了find()动态抓取对象,那我想即使是动态生成的元素也是一样处理的一样可以抓取;
只是我现在的情况是当项目在IE中运行时,我需要用某一种属性并且用某一个值去匹配抓取我要的对象;而当项目在FF中运行时,我又需要用另一种属性或者另一个值去匹配,这个比较困惑了
作者: 蝶恋meng    时间: 2008-12-31 14:36
那个好不好用啊
作者: lilei6322721    时间: 2009-1-12 18:55
我感觉想在两个浏览器上使用同一个脚本似乎不现实,两种浏览器的核心不同,想要脚本兼容应该是很难的
作者: sxfish    时间: 2009-7-6 17:28
我们这里多浏览器的测试是用QTP来完成;Eclipse上的测试用RFT。毕竟术业有专攻吧
作者: shanxi    时间: 2009-7-6 18:12
楼主可以用类似Selenium这类的软件

这类软件不区分浏览器




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2