之前寫的代碼中都沒有加入異常處理,規范寫法,應該在每次查找元素或操作時加上異常處理、日志信息、失敗截圖等,如下: 但是為所有的查找元素和操作都加上這些耗時且不方便維護,為了簡化操作,可以把一些公用的方法封裝到 BasePage 類,其它頁面 page 直接繼承 BasePage ...
之前寫的代碼中都沒有加入異常處理,規范寫法,應該在每次查找元素或操作時加上異常處理、日志信息、失敗截圖等,如下: 但是為所有的查找元素和操作都加上這些耗時且不方便維護,為了簡化操作,可以把一些公用的方法封裝到 BasePage 類,其它頁面 page 直接繼承 BasePage ...
目的:簡化代碼,提供框架該有的東西每一個函數 -提供了一個功能 - 公共的功能有了basepage,在PageObjects當中直接調用元素操作。 以下以login_page 為例,實現從配置文件中讀取基礎信息,日志模塊,公共方法login.py的封裝,從Excel中讀取元素信息 ...
優秀的框架都有屬於自己的思想,在搭建web自動化測試框架時,我們通常都遵循 PO(Page Object)思想。 簡單理解就是我們會把每個頁面看成一個對象,一切皆對象,面向對象編碼,這樣會讓我們更好的解耦代碼,也更好的進行封裝和理解。 使用selenium框架來操作頁面時,最常用的都是一些點擊 ...
import os from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait ...
APP自動化跟WEB自動化所使用的框架基本一樣,都是采用的PO模式結合pytest框架編寫自動化測試腳本,為了提高代碼的復用性、穩定性和易維護性,我們針對PO模式進行了二次封裝,將日志,等待以及異常截圖加入到其中,app相比較web而言,沒有鼠標 、下拉框選擇、frame切換、窗口切換和上傳 ...
1、封裝基礎函數---執行日志、異常處理、失敗截圖等操作 2、提取所有頁面公共的部分 新建一個包Common,在包中新建一個basepage.py 1、提取初始化函數 2、封裝基礎函數 3、提取的basepage.py中的封裝函數在頁面對象中使用 1、使用 ...
)。假如,我們根據每個頁面來寫一個類,這樣的話如果有幾百個頁面,我們就要封裝幾百個類,這樣做也是非常的麻 ...
在PO模式當中,我們做到了頁面對象與測試用例的分離,但在頁面對象編寫時,我們仍然還有優化的空間。頁面對象有一些共同的基本操作,可以封裝起來,並可以在基本操作當中加上日志和異常截圖的處理。比如說我們在查找元素時,都需要等待,在PO模式當中,需要都寫上等待和查找元素,那么就可以將其封裝起來,包括 ...