录制元素基于smartgwt框架项目如何开展自动化(一)
时间紧张,先记一笔,后续优化与完善。
基于smartgwt框架项目如何开展自动化(一)
近来接手数据资源平台产品的自动化建立,该项目依附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界面:
加载自定义定位器:
第三步:重启selenium ide,接下来就可以像录制普通产品一样停止录制了。
在录制过程中可能会碰到的问题:
1、脚本录制好之后回放,报错:
[error] Timed out after 30000ms
[error]Element scLocator=//ToolStripButton[ID="isc_ToolStripPermissionButton_19"]/icon not found
该问题多是速度控制条播放速度过快致使,调整播放速度至slow
文章结束给大家分享下程序员的一些笑话语录:
Bphone之你们聊,我先走了!移动说:我在phone前加o,我叫o缝;苹果说:我在phone前i,我是i缝;微软说:我在phone前加w,我叫w缝;三星说:你们聊,我先走了!
将来王建宙写回忆录的时候,一定要有一句“常小兵为中国移动的发展做出了不可磨灭的贡献”。