一 前言python
在Web UI自動化測試中可能會遇到文件上傳的場景,針對該場景主要有兩種解決思路:若是是<input type="file">元素,可優先嚐試send_keys() 輸入文件路徑;若是實際狀況必需要處理windows文件選擇框,則可嘗試藉助AutoIt實現。web
二 處理方法windows
假設如今咱們有以下一個頁面,須要進行文件上傳操做:服務器
手工進行文件上傳的步驟爲:點擊【選擇文件】->彈出windows文件選擇框->選擇文件->點擊【開始上傳】按鈕。微信
分析頁面源碼,以下:ide
從頁面源碼可知,【選擇文件】是input標籤的元素,且type=‘file’。所以,能夠嘗試先定位到該元素,而後執行send_keys方法傳入文件路徑,實現代碼以下:學習
browser = webdriver.Chrome()
file_path = r'E:\Python培訓計劃\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() #上傳文件到服務器
三 總結測試
本文主要介紹文件上傳的處理方法,調用send_keys方法傳入文件路徑便可,無需模擬彈出windows選擇框且選擇文件的過程。經過該方法能夠簡單、高效的實現選擇文件的目的,避免將處理思路卡在如何選擇文件這個問題上。spa
四 其餘資源excel
關於python學習、分享、交流,筆者開通了微信公衆號【小蟒社區】,感興趣的朋友能夠關注下,歡迎加入,創建屬於咱們本身的小圈子,一塊兒學python。