您好,登錄后才能下訂單哦!
一 前言
在Web UI自動化測試中可能會遇到文件上傳的場景,針對該場景主要有兩種解決思路:如果是<input type="file">元素,可優(yōu)先嘗試send_keys() 輸入文件路徑;如果實際情況必須要處理windows文件選擇框,則可嘗試借助AutoIt實現(xiàn)。
二 處理方法
假設(shè)現(xiàn)在我們有如下一個頁面,需要進(jìn)行文件上傳操作:
手工進(jìn)行文件上傳的步驟為:點擊【選擇文件】->彈出windows文件選擇框->選擇文件->點擊【開始上傳】按鈕。
分析頁面源碼,如下:
從頁面源碼可知,【選擇文件】是input標(biāo)簽的元素,且type=‘file’。因此,可以嘗試先定位到該元素,然后執(zhí)行send_keys方法傳入文件路徑,實現(xiàn)代碼如下:
browser = webdriver.Chrome()
file_path = r'E:\Python培訓(xùn)計劃\selenium自動化測試\上傳測試.xlsx'
# 注意file_path使用絕對路徑:unknown error: path is not absolute
# 使用send_keys方法模擬打開windows彈框選擇上傳文件的過程
browser.find_element(By.XPATH,'//*[@id="uploadify_excel-upload_1"]').send_keys(file_path)
#點擊【開始上傳】按鈕
browser.find_element(By.ID,'startUpload').click() #上傳文件到服務(wù)器
三 總結(jié)
本文主要介紹文件上傳的處理方法,調(diào)用send_keys方法傳入文件路徑即可,無需模擬彈出windows選擇框且選擇文件的過程。通過該方法可以簡單、高效的實現(xiàn)選擇文件的目的,避免將處理思路卡在如何選擇文件這個問題上。
四 其他資源
關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。