关于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?
谢谢了! 通过.id?
选取其他的属性不行嘛?
回复 2# 的帖子
我通过抓取对象观察,他们的其他属性也有很大的不同,比如命名规则,也比如FF中抓取的文本框没有.id属性,(另外.class应该是一个比较基本常用的比较属性吧我感觉)我想这里主要是由于RFT抓取对象时将IE看作HtmlBrowser而将FF看作WinForm,但不知道这是为什么...应该怎么处理... .class有时候也没有,我目前手上的项目就是
还有的就是:有的时候比如一些东西是动态生成的,如表格,DIV等。
种种 如果那样的话,你怎么处理?
回复 5# 的帖子
既然用了find()动态抓取对象,那我想即使是动态生成的元素也是一样处理的一样可以抓取;只是我现在的情况是当项目在IE中运行时,我需要用某一种属性并且用某一个值去匹配抓取我要的对象;而当项目在FF中运行时,我又需要用另一种属性或者另一个值去匹配,这个比较困惑了 那个好不好用啊 我感觉想在两个浏览器上使用同一个脚本似乎不现实,两种浏览器的核心不同,想要脚本兼容应该是很难的 我们这里多浏览器的测试是用QTP来完成;Eclipse上的测试用RFT。毕竟术业有专攻吧 楼主可以用类似Selenium这类的软件
这类软件不区分浏览器
页:
[1]