1. 程式人生 > >一隻自動化測試小白的學習記錄——Python+Selenium+Sublime 運用API、元素定位、元素操作方法、滑鼠鍵盤事件實現入門Web自動化測試

一隻自動化測試小白的學習記錄——Python+Selenium+Sublime 運用API、元素定位、元素操作方法、滑鼠鍵盤事件實現入門Web自動化測試

題外話:之前做一些自動化測試的入門實驗都是用的Python的IDLE進行編寫的,正兒八經的好處(可以一行一行地執行,因此能夠直觀地看到對於網頁測試的每一步變化,也能夠明確地知道在哪一步出了錯),不知所云的壞處(沒有一下子執行指令碼程式的成就感?????(黑人嚴肅臉)) 。

於是,本人切換成了Sublime Text工具。當然,最好還是,IDLE和Sublime Text一起使用,效果更佳(這是官方術語)。回到the theme,我們在做功能測試的時候,即輸入用例再點點點,自動化測試則是將這一個過程轉變成由計算機自己實現輸入內容再點選的功能。But,不管是人工測試還是自動化測試,對於一個網站,我們在輸入用例以及滑鼠點選之前,必須先進行開網頁、找到輸入的對話方塊、輸入內容、找到確認按鈕的位置、點選的行為
。人工測試可以用大腦和手來操作,而自動化測試則是需要使用API、元素定位、滑鼠鍵盤事件來實現上述過程。1.什麼是API英文老師告訴我們(哪裡來的英文老師?????)API的全稱是:Application Programming Interface,我個人理解成這就是一開始先定義好的一些函式(介面),然後在我們開發測試的過程中,需要呼叫它們來訪問並實現一些功能,應該就是".xxx"的作用(我還是個孩子,如果有錯誤,還麻煩大佬指正)2.一些元素定位的方法這裡的元素指的就是所開啟的網頁裡面,一些需要被測試的部分個體(比如:輸入框,確認按鈕,返回按鈕等),系統為我們提供的方法是:xx=driver.find_element_by_xxx(及通過xxx來找到元素xx,driver指的是定義的瀏覽器),常見的方法有:
find_element_by_id("id名稱")find_element_by_name("name名字")find_element_by_class_name("定義的class的name即class")find_element_by_tag_name("型別名稱比如對話方塊是input")find_element_by_link_text("所含文字的內容 精確定位")find_element_by_partial_link_text("所含文字的內容 模糊定位")find_element_by_xpath("路徑定位")find_element_by_css_selector("網頁所含css樣式定位"
)
當然了,這些方法在敲入“.”之後都會自動彈出的:
3.元素操作方法①element.clear() 清楚元素中的內容②element.send_keys() 輸入元素中的內容③element.click() 點選④element.submit() 提交表單4.滑鼠鍵盤事件我們知道,要想使用webdriver是必須從selenium中import的。那麼,要想使用一些和滑鼠鍵盤相關的事件,我們也需要import。滑鼠:from selenium.webdriver.common.action_chains import ActionChains來模擬滑鼠的一些行為 具體如下:①context_click()  右擊事件②double_click()  雙擊事件③drag_and_drop() 滑鼠拖動時間④move_to_element() 將滑鼠停留在一個元素上⑤click_and_hold() 對一個元素按下滑鼠左鍵不動最後加上:perform()來執行滑鼠行為鍵盤:from selenium.webdriver.common.keys import Keys(注意:前一個k小寫 後一個K大寫)①send_keys(Keys.BACK_SPACE) 退格②send_keys(Keys.CONTROL,"a") 全選③send_keys(Keys.CONTROL,"c") 複製④send_keys(Keys.CONTROL,"v") 貼上⑤send_keys(Keys.CONTROL,"x") 剪下⑥send_keys(Keys.ENTER)回車好啦 以上就是這兩天學習的總結啦附上一份簡單的測試指令碼程式碼: