您的位置:首页 > 其它

RFT使用过程中遇到的问题的解决方法(一)

2013-04-11 16:41 609 查看
一、录制过程中跳出新的browser的情况,可采取两种方式:

a针对新的窗口另建一个新的RFT脚本进行录制,回放时 需要两个以上脚本的串行回放完成;

b在对象识别设置界面对Browser的属性识别添加新的属性以便RFT能够区分两个Browser.这样一个RFT脚本里即可完成录制

方法b 需要 人员知道如何添加,添加什么属性能够区别两个Browser(目前我添加的 是 documentName),不过这种情况基本上不多而且可以咨询测试开发人员进行添加,以后沿用即可

方法a 人员本身即可完成,但仍存在 可能识别两个Browser的情况。

我发现方法b中 即使添加了Browser的属性了,对象映射(即下面的专属测试对象映射)上还是只有一个Browser,在我看来对象映射只能有一个Browser,而即使添加了属性,当你用到其中一个Browser,他的documentName记录的是就是那个Browser的对应值,鉴于我们总是先处理弹出的新浏览器窗口,处理完毕后,再处理旧的浏览器窗口时,模糊识别,一样认为旧的浏览器是跟新的浏览器是一个浏览器(即使属性不完全匹配,RFT允许一定范围内的不匹配),毕竟我们总是在操作最上面的浏览器,操作完了就关闭或最小化,目前尚无两个浏览器窗口都在最上面的情况(每个都不是最大化)且需要交替操作,若有的话,建议分成多个RFT脚本。所以两种方法结合使用无疑是最好的处理方式,对于这种情况。

二、录制时能够识别但是回放失败或者识别时间很长在结果日志中提示超过阈值的情况:

其实一般录制时能识别回放时不能识别基本上就是其控件本身某个属性的属性值是变化的,一些程序员会添加一些随机码,这样每次都不一样,对于这种情况对属性值进行正则修改或者在此属性没有依然可以识别该控件的情况下删除该属性,但是其实控件本身属性变化的概率不大,一般都是其父控件的某些属性发生变化,例如id属性的属性值。这种情况处理方式跟之前控件本身的属性值变化处理方式一样。

对于识别慢的控件一个可能是存在上面个别属性不匹配的情况,但是由于只是少量,所以计算后一样可以识别到(RFT允许有一定偏差),上面的情况处理可以减少时间上的浪费,另外默认的控件能识别到的所需的属性 有时对于具体的项目不见得都有用,例如title这种属性,你可能会发现产品中所有同类型的控件,开发都没有对其进行赋值,或者赋值都一样,那么对于识别该控件而言,这个属性是没有意义的,那么在识别该控件时就没必要去获取该属性进行权重计算等,删除这样的属性可以大大提高控件识别效率,对于某个产品 ,我们可以在RFT配置识别属性那里进行全局的修改(见图2),那么以后录制此类的控件时就不会有此项了,如果你担心这样会带来麻烦(毕竟可能你并不确定该属性在识别其他同类控件时完全没有价值)那么慎重的做法是在录制完毕后再识别对象树里,仅对单个确定无用的控件进行删除该属性的操作(这样很费时,但很安全)。

识别级别在  窗口-〉首选项 里可以查看和调整,高级里会有更详尽的内容。图 1



图2 全局修改识别规则



图 3 局部修改,打开以下图中的 专用测试对象映射



选中要修改的对象,在 识别标签页面里 进行 其属性值的修改等

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: