新浪微博:罗斯汀zdlzx

Sahi中对于动态ID的处理

上一篇 / 下一篇  2011-07-27 12:29:36

Sahi录制Ext-JS的脚本,会出现类似_textarea("ext-comp-1314"),用动态ID来标识某个空间。而即使源文件不变,ID在不同的运行轮次有时也会变化。所以,我们需要寻求不通过ID来识别控件的方法,降低维护脚本的代价。具体方法如下:

首先,尽量不要用带IDaccessor来标识,可以看看alternatives里面有没有其它更合适的非动态变化的标识。推荐这样做。而且如果你想录制的时候就优先使用这种方法,可以通过修改配置文件来达到这个目标。sahi/userdata/config/userdata.properties中添加这样一行

recorder.ignorable_ids.pattern=^z_|^j_id|[:]j_id|^ext[-]gen|^[:]|^zk_comp_|^gwt[-]uid|^ext[-]comp

来达到忽略ext-comp作为标识的目的。

改之前如左图。改之后(重启Sahi,browser cache后)如右图。

其次,可以用_textarea("/ext-comp/")这样的正则表达式来通配_textarea("ext-comp-1225")之类的ID。(我目前采用这个方法,可行)

以下3个语句实际等效。

_assertEqual("XXX has been saved successfully.", _getValue(_textarea("/ext-comp/")));

_assertEqual("XXX has been saved successfully.", _getValue(_textarea(2)));

_assertEqual("XX has been saved successfully.", _getValue(_textarea("x-form-textarea x-form-field[1]")));

 


TAG:

罗斯汀zdlzx的个人空间 引用 删除 zdlzx   /   2011-08-13 11:17:53
Near和in也可以在合适的情况下解决这个问题
 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 1324738
  • 日志数: 88
  • 建立时间: 2010-08-18
  • 更新时间: 2016-02-25

RSS订阅

Open Toolbar