千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 一文帶你上手自動化測試中的PO模式

一文帶你上手自動化測試中的PO模式

來源:千鋒教育
發(fā)布人:zyh
時(shí)間: 2023-06-26 13:26:00 1687757160

  自動化測試在軟件測試項(xiàng)目團(tuán)隊(duì)中發(fā)揮著重要的作用,同時(shí)合理地開展自動化測試,可以有效降低錯(cuò)誤修復(fù)成本,提高工作效率。

  下面就以web自動化測試為例來說明POM模式:python+Selenium+pytest框架下,完成自動化測試用例的編寫,管理,運(yùn)行和出報(bào)告,似乎是一項(xiàng)非常簡單的工作過程,隨在項(xiàng)目進(jìn)展,特別是迭代頻繁的敏捷項(xiàng)目研發(fā)方式下,有些自動化測試人員實(shí)現(xiàn)的那些低質(zhì)量測試腳本往往會引發(fā)后期高昂的代碼維護(hù)成本,隨著時(shí)間的推移所謂的自動化測試變得好像忘了初衷了。

  POM模式中解決測試腳本質(zhì)量低下的一種很實(shí)用的方法。下面我來向大家介紹一下POM分離模式的思維:

自動化測試中的PO模式

  pom分離:

  POM分離 page- object-module--是一種思維

  采用POM目的:為了解決前端中UI變化頻繁,從而造成測試自動化腳本維護(hù)的成本越來越大

  POM思路:把頁面元素和業(yè)務(wù)邏輯和測試腳本分離開到兩個(gè)不同的類文件。class A只寫頁面元素定位,和業(yè)務(wù)邏輯代碼操作的封裝,class B只寫測試腳本,

  POM主要有以下優(yōu)點(diǎn):

  1.把web ui對象倉庫從測試腳本分離,業(yè)務(wù)代碼和測試腳本分離。

  2.每一個(gè)頁面對應(yīng)一個(gè)頁面類,頁面的元素寫到這個(gè)頁面類中。

  3.頁面類主要包括該頁面的元素定位,和和這些元素相關(guān)的業(yè)務(wù)操作代碼封裝的方法。

  4.代碼復(fù)用,從而減少測試腳本代碼量。

  5.層次清晰,同時(shí)支持多個(gè)編寫自動化腳本開發(fā),例如每個(gè)人寫哪幾個(gè)頁面,不影響他人。

  6.建議頁面類和業(yè)務(wù)邏輯方法都給一個(gè)有意義的名稱,方便他人快速編寫腳本和維護(hù)腳本。

  實(shí)例如下:

  1.測試腳本

1684303685928.圖片1

  2.業(yè)務(wù)邏輯

1684303695783.圖片2

  3.界面元素

1684303707269.圖片3

  4.再次封裝

1684303718461.圖片4

  5.使用最新封裝內(nèi)容

1684303726916.圖片5

  都說良好的開端是成功的一半,自動化測試框架的落地也是如此,在測試框架實(shí)現(xiàn)之前,我們需要全方位考濾后才能設(shè)計(jì)出面對避無可避的UI元素變更的好的框架。有時(shí)候我們第一個(gè)想到的是如何將那些變更頻率不高的功能模塊實(shí)現(xiàn)自動化,而對那些變更頻率高的功能模塊有什么方式能夠降低我們未來對于代碼調(diào)整帶來的高昂成本呢?要做到“子落而滿盤活”,而不是“牽一發(fā)而動全身”。我們是否能對變更進(jìn)行限制,只動一個(gè)地方,并且讓每個(gè)與之相關(guān)的測試腳本都能使用它?答案一定是完全一致肯定的-------POM模式可以幫我們實(shí)現(xiàn)。

  如果該web頁面元素發(fā)生了變化,我們只需要在其對應(yīng)的類文件中進(jìn)行修改就可以了,而不必在多個(gè)不同的腳本去搜索查找并一一更新。這種方法就是頁面對象模型(POM),它有助于提高代碼的可讀性、可維護(hù)性和可重用性。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
PUE是什么?

一、PUE是什么PUE,即功耗比(Power Usage Effectiveness),是數(shù)據(jù)中心的能源效率指標(biāo)。它是數(shù)據(jù)中心總功耗與設(shè)備功耗的比值,用于評估數(shù)據(jù)中...詳情>>

2023-10-15 07:13:07
graph cut和graph cuts有什么區(qū)別?

1.語境不同graph cut”通常在描述一個(gè)操作時(shí)使用,比如”perform a graph cut”,它指的是在圖中找到一個(gè)切割,將圖劃分為兩個(gè)...詳情>>

2023-10-15 07:02:16
什么是雙機(jī)熱備?

一、雙機(jī)熱備的原理雙機(jī)熱備是指在系統(tǒng)中配置兩臺服務(wù)器(主服務(wù)器和備份服務(wù)器),兩者通過高速網(wǎng)絡(luò)連接進(jìn)行實(shí)時(shí)數(shù)據(jù)同步和狀態(tài)同步。主服務(wù)器...詳情>>

2023-10-15 06:37:02
偏最小二乘支持向量機(jī)和支持向量機(jī)回歸的區(qū)別是什么?

1.模型構(gòu)建的理論基礎(chǔ)不同支持向量機(jī)回歸(SVR)基于統(tǒng)計(jì)學(xué)習(xí)理論,其主要思想是找到一個(gè)超平面,使得大部分?jǐn)?shù)據(jù)點(diǎn)都在這個(gè)超平面的一定范圍內(nèi),...詳情>>

2023-10-15 06:30:45
VAE、GAN和transformer有什么區(qū)別?

1.模型結(jié)構(gòu)不同VAE(變分自編碼器)是一種生成模型,其基于概率圖模型和自編碼器,能夠?qū)W習(xí)數(shù)據(jù)的潛在分布。GAN(生成對抗網(wǎng)絡(luò))同樣是一種生成...詳情>>

2023-10-15 06:10:12
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
在线看国产精品黄v | 一级免费在线观看 | 中国Av网站在线播放 | 亚洲日韩精品欧美一区二区一 | 日本亚洲国产一区二区三区 | 婷婷网色偷偷亚洲的天堂 |