在程式員的世界中,一切重復性的作業,都應該通程序式自動執行,「自動化測驗」就是一個最好的例子,
隨著互聯網應用開發周期越來越短,迭代速度越來越快,只會點點點,不懂開發的手工測驗,已經無法滿足如今的業務要求,只能被企業逐步裁員淘汰,「自動化測驗和持續測驗」就成為了業界主流,
如果在招聘網站搜索「測驗工程師」的職位,95% 的招聘都會有「掌握自動化測驗以及 Python」的相關要求,可以說,Python 自動化已經不是加分項了,而成了面試成功的必備技能,

所以,如果你正準備入行或者轉崗做測驗工程師的作業,Python 自動化測驗將是必學技能之一,
Python + Selenium
說到自動化測驗,就不得不提大名鼎鼎的Selenium,Selenium 是如今最常用的自動化測驗工具之一,支持快速開發自動化測驗框架,且支持在多種瀏覽器上執行測驗,
Selenium學習難度小,開發周期短,對測驗人員來說,如果你編程經驗不足,python + Selenium 是個很好的選擇,語法簡約,清晰,可以顯著減少后期維護難度和作業壓力,
今天,我們就介紹一下如何用 Selenium 快速開始 Web 測驗作業!
(以下內容出自實驗樓課程——「Python 自動化測驗實戰」,歡迎大家來實驗樓邊敲代碼邊練習!)
Selenium 基礎知識
本節課程介紹 Selenium 的功能作用及安裝、環境配置,并介紹 Selenium 常用的語法,
知識點
Selenium 介紹
安裝 Selenium
安裝 geckodriver 瀏覽器驅動
Selenium 的元素定位
點擊元素
清空文本輸入框、向文本輸入框輸入文本
獲取元素屬性
下拉頁面
頁面彈窗的定位以及彈窗文本的獲取
視窗跳轉
iframe 定位
安裝需要的庫:
sudo pip3 install --upgrade pip
sudo pip3 install selenium
實驗環境
Firefox 瀏覽器
python 3.5
geckodriver 0.22.0
selenium 3
實驗步驟
Selenium 在進行回歸測驗的時候會被經常用到,接下來我們就學習 Selenium 的知識,當我們進入selenium 官網時可以看到,網站的 title 上寫的是 Selenium - Web Browser Automation,翻譯過來就是網站瀏覽器自動化,也就是說我們把平時在網頁上做的功能測驗用 Selenium 代碼實作,這樣在回歸測驗的時候就可以達到省時省力的目的,Selenium 在作業中的應用常見于功能基本穩定、沒有頻繁大變動的網頁,所以我們一般是在業務功能上線以后,為確保頁面穩定,用 Selenium 實作自動化回歸測驗,結合 git、Jenkins 一起,每當有新功能上線時都會執行寫好的 Selenium 代碼以驗證新上線的業務對原有頁面功能沒有造成影響,如有報錯,則發送相應的通知,這樣就可以確保對線上功能出現的未預期 bug 進行及時的修復,
安裝 Selenium
在 xfce 中輸入sudo pip3 install selenium安裝最新版本的 Selenium,
瀏覽器、geckodriver
既然名為網頁瀏覽器自動化自然要安裝瀏覽器,一般來說,Chrome、Firefox等瀏覽器都可以,這里我們使用當前系統自帶的Firefox作為實驗瀏覽器,現在我們需要下載對應的瀏覽器驅動geckodriver,在xfce中輸入以下命令:
$ wget https://labfile.oss.aliyuncs.com/courses/1163/geckodriver-v0.22.0-linux64.tar.gz
下載成功后繼續輸入:
$ tar zxvf geckodriver-v0.22.0-linux64.tar.gz $ sudo mv geckodriver /usr/local/bin
以上操作為:將檔案解壓,并移動至/usr/local/bin檔案夾中,

將目錄切換至桌面:
$ cd /home/shiyanlou/Desktop
下面我們來驗證是否正常安裝,在終端使用命令vim demo.py創建檔案并寫入代碼:
#! /usr/bin/python3 from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.shiyanlou.com")
輸入python3 demo.py如果瀏覽器打開并進入實驗樓網站,則環境配置就成功了,


瀏覽器操作
在終端使用命令vim demo2.py創建檔案并寫入代碼:
#! /usr/bin/python3 from selenium import webdriver from time import sleep driver = webdriver.Firefox() # 瀏覽器進入百度網站 driver.get("https://www.baidu.com") # 設定瀏覽器寬800,高400 driver.set_window_size(800, 400) # 等待3秒 sleep(3) # 重繪頁面 driver.refresh() # 等待3秒 sleep(3) # 最大化視窗 driver.maximize_window() # 退出瀏覽器 driver.quit() - name: check file script: | #!/bin/bash ls /home/shiyanlou/Desktop/demo2.py error: 還沒有在 /home/shiyanlou/Desktop 目錄下新建 demo2.py 檔案
以上代碼會在瀏覽器中執行:
打開瀏覽器
進入百度網站
設定視窗大小為寬 800,高 400
等待 3 秒
重繪頁面
最大化視窗
退出瀏覽器
演示
這里我們使用51Testing 軟體測驗論壇作為演示網站,如果大家沒有賬號需要先去注冊一個,下面的代碼將會使用到賬號資訊,在終端使用命令vim demo3.py創建檔案并寫入代碼:
#! /usr/bin/python3 from selenium import webdriver from time import sleep driver = webdriver.Firefox() # 進入51testing網站driver.get("http://bbs.51testing.com/forum.php") sleep(3) # 用id定位賬號輸入框并輸入賬號 driver.find_element_by_id("ls_username").send_keys("您的用戶名") # 用id定位密碼輸入框并輸入密碼 driver.find_element_by_id("ls_password").send_keys("密碼") # 定位“登錄”按鈕并獲取登錄按鈕的文本 txt = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').text # 列印獲取的文本 print(txt) # 定位“登錄”按鈕并獲取登錄按鈕的type屬性值 type = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').get_attribute("type") # 列印type屬性值 print(type) # 定位“登錄”按鈕并進行點擊操作 driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').click()
在終端執行python3 demo3.py運行,結果顯示如下:頁面顯示:

執行以上代碼后會在 xfce 中輸出如下資訊:

最后感謝每一個認真閱讀我文章的人,作為一位過來人也是希望大家少走一些彎路,在這里我給大家分享一些自動化測驗的學習資源,如果你用得到的話可以直接拿走,希望能給你前進的路上帶來幫助,(包括Python編程、WEB自動化測驗、app自動化測驗、介面自動化測驗、測驗框架、持續集成、自動化測驗開發、性能測驗、安全測驗、大廠面試真題、簡歷模板等等、當然還有一些測驗基礎、工具、app測驗、介面測驗、linux、mysql資料庫等基礎知識),相信能使你更好的進步!這些學習資料我都放在我的測驗學習交流裙:1033482984 里面了,同時還有幾千個行業大佬相互進行技術交流、經驗分享,如果你也感興趣,那么期待你的加入,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551948.html
標籤:其他
上一篇:3年測驗越來越迷茫... 技術跟不上接下來是不是要被淘汰了?
下一篇:返回列表
