天天看點

基于selenium的pyse自動化測試架構

webui automation testing framework based on selenium

介紹: pyse基于selenium(webdriver)進行了簡單的二次封裝,比selenium提供的方法操作更簡潔。

起因:

  python + selenium 自動化測試寫久了發現selenium(webdriver)提供原生的方法并簡便,于是,産生了二次封裝的想法。想不到太炫酷的名字,于是各取了兩個單詞的前兩個字母-- pyse。

特點:

所有方法隻提供xpath定位,webdriver提供了8種定位方法(id\name\class name\tag name\link text\partial link text\xpath\css selector)但xpath一定程度可以替代id\name\class name\tag name 等方法,本架構所提供的click_text()方法可以替代link text方法,是以隻用xpath定位對不影響架構對元素的定位能力,又保證了定位方法的一緻性。

本架構隻是對selenium(webdriver)原方法的簡單封裝,精簡為30個方法,經過我的自動實踐,這些方法完全夠勝任于我們的自動化工作。

內建了htmltestrunner 測試報告,使生成報告變得很簡單。

安裝及前提條件:

安裝pyse : 将其克隆到本地,将pyse目錄放到..\python27\lib\site-packages\目錄下。

例子: 請檢視demo目錄

先看一下百度搜尋的例子:

baidu.py

基于selenium的pyse自動化測試架構
基于selenium的pyse自動化測試架構

再看一個page object 設計模式的例子

page_object_case.py

基于selenium的pyse自動化測試架構
基于selenium的pyse自動化測試架構

再看一個使用unittest單元測試架構的例子。

unittest_case.py

基于selenium的pyse自動化測試架構
基于selenium的pyse自動化測試架構

  調用testrunner()測試類時需要指定一個測試用例的目錄,如:e:\mytestpro\test_case 。然後,調用的它的run()方法來運作測試用例。

  比對測試用例檔案的規則是*_case.py 。是以,測試檔案的命名一定要為 aa_case.py ,a12_case.py等。

  它會自動在test_case目錄下生成report目錄并在其下面生成測試報告。如下:

基于selenium的pyse自動化測試架構