近接手?jǐn)?shù)據(jù)資源平臺(tái)產(chǎn)品的自動(dòng)化建設(shè),該項(xiàng)目依賴smartgwt框架,項(xiàng)目初期嘗試使用watir、webdriver來(lái)進(jìn)行自動(dòng)化腳本開(kāi)發(fā),后都因不能準(zhǔn)確定位元素而失敗告終,經(jīng)過(guò)多次google和討論,后利用selenium ide工具進(jìn)行錄制,終于有所成效。(雖然回放偶爾會(huì)提示找不到元素)。
好,入正題,利用selenium ide錄制基于smartgwt框架的項(xiàng)目
第一步:搭建selenium ide環(huán)境。
下載selenium ide插件,安裝firefox(注意:selenium ide插件的版本需要與firefox版本兼容,我這里下載的是:selenium-ide-1.10.0.xpi、Firefox_Setup_15.0.1.exe)
第二步:讓selenium ide支持用戶自定義定位器。
由于smartgwt框架采用事件代理,動(dòng)態(tài)加載頁(yè)面元素,因此傳統(tǒng)的通過(guò)ID或者簡(jiǎn)單的attribute來(lái)定位元素行不通,這里我們利用smartgwt提供的自定義定位器來(lái)進(jìn)行(即2個(gè)js腳本:user-extensions.js、user-extensions-ide.js 可以從smartgwt官網(wǎng)下載)。
打開(kāi)selenium ide,在菜單欄選擇【Options】->options選項(xiàng),加載自定義定位器,如下圖:
打開(kāi)options界面:
http://img.blog.csdn.net/20130517181204458
加載自定義定位器:
第三步:重啟selenium ide,接下來(lái)可以像錄制普通產(chǎn)品一樣進(jìn)行錄制了。
在錄制過(guò)程中可能會(huì)遇到的問(wèn)題:
1、腳本錄制好之后回放,報(bào)錯(cuò):
[error] Timed out after 30000ms
[error]Element scLocator=//ToolStripButton[ID="isc_ToolStripPermissionButton_19"]/icon not found
該問(wèn)題可能是速度控制條播放速度過(guò)快導(dǎo)致,調(diào)整播放速度至slow