近接手数据资源平台产品的自动化建设,该项目依赖smartgwt框架,项目初期尝试使用watir、webdriver来进行自动化脚本开发,后都因不能准确定位元素而失败告终,经过多次google和讨论,后利用selenium ide工具进行录制,终于有所成效。(虽然回放偶尔会提示找不到元素)。
好,入正题,利用selenium ide录制基于smartgwt框架的项目
第一步:搭建selenium ide环境。
下载selenium ide插件,安装firefox(注意:selenium ide插件的版本需要与firefox版本兼容,我这里下载的是:selenium-ide-1.10.0.xpi、Firefox_Setup_15.0.1.exe)
第二步:让selenium ide支持用户自定义定位器。
由于smartgwt框架采用事件代理,动态加载页面元素,因此传统的通过ID或者简单的attribute来定位元素行不通,这里我们利用smartgwt提供的自定义定位器来进行(即2个js脚本:user-extensions.js、user-extensions-ide.js 可以从smartgwt官网下载)。
打开selenium ide,在菜单栏选择【Options】->options选项,加载自定义定位器,如下图:
打开options界面:
http://img.blog.csdn.net/20130517181204458
加载自定义定位器:
第三步:重启selenium ide,接下来可以像录制普通产品一样进行录制了。
在录制过程中可能会遇到的问题:
1、脚本录制好之后回放,报错:
[error] Timed out after 30000ms
[error]Element scLocator=//ToolStripButton[ID="isc_ToolStripPermissionButton_19"]/icon not found
该问题可能是速度控制条播放速度过快导致,调整播放速度至slow