文件上傳
? ? ? ? 今天跟大家分享兩種robotframework的文件上傳的方式,不得不說人生處處都是坑呀,測試工具這種東西不去實踐真的很難發(fā)現(xiàn)有什么不同,還有什么不足。說真的,我雖然畢業(yè)五年了,但從事測試工作兩年多一點,第一年專攻功能測試,第二年專門研究自動化測試,兩年時間的積累讓我成長不少,但是因為經(jīng)驗的欠缺,在接口測試,性能測試上面缺乏很多的實踐,出現(xiàn)過很多短板,我還是蠻佩服自己的,這種程度,憑借著無厘頭的自信心,還有那個騙死人不償命的簡歷,我去過螞蟻金服,攜程,平安,2345面試,真的被罵的很慘,不過我也學(xué)到很多東西,也了解到作為一名優(yōu)秀的測試必須具備哪些東西,好了不廢話了,開始今天主題。
robotframework+selenium2library之上傳本地文件
注:第一種choose file,本來以為rf所有的上傳文件都可以用這個,但是其實并不是,它只適用于input的控件,單純的通過鏈接,標(biāo)簽之類的上傳文件是不使用的。
針對將本地的文件上傳到測試系統(tǒng),selenium2library提供了一個關(guān)鍵詞
choose file
官方給定的解釋如下:
Source:Selenium2Library Arguments:[ locator | file_path ]Inputs the `file_path` into file input field found by `identifier`.?This keyword is most often used to input files into upload forms. The file specified with `file_path` must be available on the same host where the Selenium Server is running.Example:?Choose File my_upload_field? /home/user/files/trades.csv
一開始以為進(jìn)入到上傳頁面,點擊瀏覽,再使用choose file,結(jié)果發(fā)現(xiàn),這個函數(shù)包含了 點擊瀏覽--選中文件? 那么點擊瀏覽就是多余的操作了

在該頁面,就只需要執(zhí)行choose? 就可以將圖片選中,執(zhí)行的具體命令為:
choose file?? ?xpath=//div[@class='pd6 dot fcb']/span/input?? ?C:\\Documents and Settings\\zhouxuan\\My Documents\\My Pictures\\bug5.png
其中xpath為選中瀏覽圖標(biāo)的路徑,而 C:\\Documents and Settings\\zhouxuan\\My Documents\\My Pictures\\bug5.png(此處的\\為轉(zhuǎn)義用,當(dāng)只用\時會出現(xiàn)錯誤)則為需要上傳的圖片的路徑。
該操作執(zhí)行完畢后,則會顯示為:

圖片已經(jīng)順利加載進(jìn)來了,后續(xù)的操作就很簡單了。
ps:
一開始點擊上傳圖片的按鍵的時候,一直失敗,各種調(diào)試和轉(zhuǎn)換路徑,但是都失敗,后來換到同事的環(huán)境下執(zhí)行,一切OK,查看火狐的版本,我的是35.0版本,他的是22.0.后來我也火狐瀏覽器的版本降低到22.0.腳本運(yùn)行正常了。想想之前有時候在火狐下運(yùn)行會導(dǎo)致瀏覽器不響應(yīng),也可能和瀏覽器相關(guān)。今天應(yīng)該解決了。
Robot Framework自動化測試-AutoItLibrary庫-上傳文件
AutoItLibrary庫其實用的地方也不多,主要是用在上傳文件;處理windows彈窗。
安裝詳見:http://download.csdn.net/detail/cz9025/9821479
本篇介紹下做自動化測試時需要上傳文件的操作,及下載的操作實例。
安裝AutoItLibrary庫后,打開AutoIt界面如下:

當(dāng)我們的項目在某個功能需要上傳文件時,先點擊下上傳的按鈕,當(dāng)彈出windows彈窗后,即可操作;如圖:步驟如下:1、在finder tool 的圖標(biāo)處,鼠標(biāo)按住不放;?2、拖動到上傳文件窗口的輸入框中;?3、點擊finder tool下方的右箭頭,一直點到顯示summary,列表中,ClassnameNN:就是我們需要定位的值,或者選擇Advanced (Class):的值也行。?4、同理,再拖動到打開按鈕處,獲得值即可。?

記錄操作步驟后,在RF中編寫的腳本如下:

下載同理:思路就是先點擊下載的按鈕,彈出下載提示的對話框,然后鼠標(biāo)拖動到需要點擊的按鈕處,獲得該值。