公司在codereview的時候限制了看代碼的時間,實際上不少代碼屬于框架自動生成,并不需要花費太多時間看,為了達標,需要刷點時間(鼠標點擊網頁固定區域)。我想到可以利用自動化測試的手段完成這種無效的體力勞動。
首先,明確一下需求:
我想到的方案有兩個,sikuli或者python+selenium。sikuli的優點是邏輯操作簡單直接,使用圖片作為標示,缺點是需要窗口固定,并且無法后臺運行。selenium稍復雜一定,但是運行速度快,窗口可以遮擋。
這里簡單記錄一下使用Python+selenium的小例子。
使用的版本為Python3.3以及selenium2,Windows環境(現在已經支持3.0以上的了,多處論壇博客沒有更新)。
首先是軟件的安裝,Python不贅述了,記得設置環境變量。
下面安裝selenium,如果已經安裝過pip。直接運行一下命令。
pip install -U selenium
另一種方式,https://pypi.python.org/packages/source/s/selenium/selenium-2.52.0.tar.gz下載并解壓。這里簡述一下windows版本,其實Unix下也差不多,使用Wget下載一下安裝。
使用命令(setup一般用于第三方模塊的安裝):
cd c:/Python3/xxxxpython setup.py install
安裝過程中可能會出現ImportError: No module named setuptools,這是因為缺少setuptools模塊,Python默認不安裝。
在http://pypi.python.org/pypi/setuptools上面提供了各系統的安裝包和安裝指南,對于Windows系統,下載https://bootstrap.pypa.io/ez_setup.py自動化安裝腳本。
運行:
python ez_setup.py
完成后再安裝selenium即可。
這里用我自己的實例簡單的講解一下流程。
第一步先完成打開瀏覽器。
selenium2結合了selenium和webdriver,直接引入各個瀏覽器相應的驅動,打開即可,注意chrome驅動可能需要另行安裝。
from selenium import webdriverbrowser = webdriver.Firefox()browser.get('https://www.xxx.com')打開網頁后需要登錄,F12打開瀏覽器調試器,小箭頭選取元素,查看登錄框賬號和密碼的屬性,一般都有ID。selenium可以通過以下各個方法獲取元素并進行各種操作,具體解釋請看上方鏈接文檔:
其中id最為有效方便,優先考慮。選取完元素之后可以通過WebDriver API調用模擬鍵盤的輸入和鼠標的點擊操作。代碼如下:
新聞熱點
疑難解答