Selenium測試ExtJs

待測的ExtJs頁面其實只能在IE8上正常跑(由於需要用到ocx),但是剛好待測的功能可以不用ocx進行,所以在firefox也能正常跑。

由於本人是新手,爲了避免從頭寫腳本,決定先用firefox錄製測試用例,再導出爲java或其他語言的web driver。


Firefox需要安裝插件如下:

Selenium IDE 2.9.1,

FireBug,

FirePath


在Selenium IDE錄了以後,回放時,發現以id找不到ExtJs下拉菜單的頂層按鈕元素以及菜單內的菜單項元素,因爲id是動態生成的,每次都在變。


找了一堆資料後,發現別人也遇到了同樣的問題,試了幾種解決方法都不行,最後找到了一個靠譜的解決方法:

http://youku.io/questions/12839/any-suggestions-for-testing-extjs-code-in-a-browser-preferably-with-selenium


該文推薦:放棄id或者xpath定位,而改爲以css定位,這比較靠譜而且速度快

對於button,是很簡單的,只要在Target欄內寫入:

css=button:contains('按鈕上的文字')


對於菜單項,稍微複雜一些,我要找的元素通過“Inspect in FirePath”看,是一個span,因此只要在Target欄內寫入:

css=.x-menu-item-text:contains('菜單項上的文字')


需要注意的是,在click前,需要先等待元素出現waitForElementPresent




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章