幾種常見Ruby編寫問題總結
一個剛剛學習Ruby語言的朋友,在實際應用中通常都會遇到各種各樣的問題的。在這里我們就為大家總結了一些常見Ruby編寫問題。#t#
先贊一下,這次ruby框架整體結構的調整,個人感覺挺好,以前總覺得到處都是文件夾,而且子文件夾的名字都一樣的,經常點錯,而且分布在lib和test下感覺有些凌亂,現在都放在test下,顯然結構看上去清晰明了多了。
好啦,說說這兩天遇到的幾個問題吧。
Ruby編寫問題1、測試數據的初始化表initdata中含多個測試場景的初始化數據。此時運行腳本時,有時候會初始化失敗。
原因分析:經過調試,發現初始化的表中,不是該場景的初始化數據會輸出nil行。查看代碼,發現編寫的初始化這段代碼只判斷了當前行是否空行,如果空行就結束了,所以導致在nil行后面的幾條初始化語句沒有成功。
Ruby編寫問題2、在編寫帖子腳本的時候遇到了個問題,這個帖子是用html編輯器的并且嵌在一個iframe中的。通過DOM查看器可以獲取到到frame對象,但是編輯器就是一個html,沒有什么id,name,怎么才能輸入內容呢?
翻了一些關于DOM的資料,決定先把焦點定位到body中。但是無法用watir自帶的方法輸入內容,就采用了模擬鍵盤的方式解決了在編輯器編寫內容的問題。@ie.frame(:id, “bulletin_editor”).document.body.focus()
@ie.sendkeys(”aaaaaaaaaaaaa”)
不過,這里遇到了個問題,當輸入的內容是中文時,輸入的是亂碼,還不知道該怎么解決呢?
Ruby編寫問題3:在一個場景中有兩條用例,這兩條用例執行中,一條是點按鈕后會彈出層,需要輸些內容這個層的輸入內容用了iframe。另一條是直接點按鈕就OK了不會彈出內容。
這里我用了if @ie.frame(:id, “J_PopUpFrame”).exist?…else…的方法。
但是當執行不彈出層的用例時,執行到if @ie.frame(:id, “J_PopUpFrame”).exist?就報錯了,說找不到這個控件。很奇怪,我就是要找不到這個控件嘛,不知道針對這樣的東西應該怎么做呢?點提示好像是ruby拋異常了。
現在只好用了個笨辦法分成兩個場景的方式去執行,唉~
好了,Ruby編寫問題先總結到此吧,我是ruby新手,可能這些對高手們是小兒科哦,要多多賜教。我正在積極琢磨中,嘿嘿~~~