日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python po设计模式_Python Selenium设计模式 - PO设计模式

發(fā)布時(shí)間:2024/7/5 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python po设计模式_Python Selenium设计模式 - PO设计模式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

整理一下python selenium自動(dòng)化測(cè)試實(shí)踐中使用較多的po設(shè)計(jì)模式。

為什么要用PO

基于python selenium2開(kāi)始開(kāi)始ui自動(dòng)化測(cè)試腳本的編寫(xiě)不是多么艱巨的任務(wù)。只需要定位到元素,執(zhí)行對(duì)應(yīng)元素的操作即可。

下面我們看一下這個(gè)簡(jiǎn)單的腳本實(shí)現(xiàn)百度搜索。

從上述代碼來(lái)看,我們所能做的就是元素的定位,然后進(jìn)行鍵盤(pán)輸入或鼠標(biāo)動(dòng)作。就這個(gè)小程序而已,維護(hù)起來(lái)看起來(lái)是很容易的。

但隨著時(shí)間的遷移,測(cè)試套件將持續(xù)的增長(zhǎng)。腳本也將變的越來(lái)越多。如果我們需要維護(hù)10個(gè)頁(yè)面,100個(gè)頁(yè)面,甚至1000個(gè)呢?

那么頁(yè)面元素的任何改變都會(huì)讓我們的腳本維護(hù)變得繁瑣復(fù)雜,而且變得耗時(shí)易出錯(cuò)。

那怎么解決呢?ui自動(dòng)化中,常用的一種方式,引入Page Object(PO):頁(yè)面對(duì)象模式來(lái)解決,po能讓我們的測(cè)試代碼變得可讀

性更好,可維護(hù)性高,復(fù)用性高。

PO是什么:

1、頁(yè)面對(duì)象模型(PO)是一種設(shè)計(jì)模式,用來(lái)管理維護(hù)一組web元素的對(duì)象庫(kù)

2、在PO下,應(yīng)用程序的每一個(gè)頁(yè)面都有一個(gè)對(duì)應(yīng)的page class

3、每一個(gè)page class維護(hù)著該web頁(yè)的元素集和操作這些元素的方法

4、page class中的方法命名最好根據(jù)對(duì)應(yīng)的業(yè)務(wù)場(chǎng)景進(jìn)行,例如通常登錄后我們需要等待幾秒鐘,

我們可以這樣命名該方法:waitingForLoginSuccess()。

下面我們看下PO的代碼目錄組織示例:

PO的優(yōu)勢(shì)

1、PO提供了一種業(yè)務(wù)流程與頁(yè)面元素操作分離的模式,這使得測(cè)試代碼變得更加清晰。

2、頁(yè)面對(duì)象與用例分離,使得我們更好的復(fù)用對(duì)象。

3、可復(fù)用的頁(yè)面方法代碼會(huì)變得更加優(yōu)化

4、更加有效的命名方式使得我們更加清晰的知道方法所操作的UI元素。例如我們要回到首頁(yè),

方法命名為:gotoHomePage(),通過(guò)方法名即可清晰的知道具體的功能實(shí)現(xiàn)。

PO實(shí)現(xiàn)示例

下面看下使用PO設(shè)計(jì)模式構(gòu)建的百度搜索用例,先看下代碼組織結(jié)構(gòu)如下:

#basePage.py代碼如下

#searchPage.py代碼如下

#testSearchPage.py代碼如下

總結(jié)

以上是生活随笔為你收集整理的python po设计模式_Python Selenium设计模式 - PO设计模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。