婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python自動化測試PO模型封裝過程詳解

Python自動化測試PO模型封裝過程詳解

熱門標簽:梅州外呼業(yè)務系統 高德地圖標注是免費的嗎 洪澤縣地圖標注 無錫客服外呼系統一般多少錢 老人電話機器人 大連crm外呼系統 百度地圖標注位置怎么修改 地圖標注視頻廣告 北京電信外呼系統靠譜嗎

在自動化中, Selenium 自動化測試中有一個名字經常被提及 PageObject( 思想與面向對象的特征相 同 ) ,通常 PO 模型可以大大提高測試用例的維護效率

優(yōu)點:可重用,業(yè)務和對象分離,代碼結構清晰,方便代碼維護

核心要素

1. 在 PO 模式中抽離封裝集成一個BasePage 類,該基類應該擁有一個只實現 webdriver 實例的屬性

2. 每一個 page 都繼承 BasePage ,通過 driver 來管理本 page 中元素,將 page 中的操作封裝成一個個方法

3.TestCase 繼承 unittest.Testcase 類,并依賴 page 類,從而實現相應的測試步驟

PO 實現進入百度頁面輸入數據后進入下一個頁面

組織代碼

1 :實現 BasePage

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains #鼠標操作
class BasePage():
    '''
    BasePage封裝所有界面都公用的方法。
    例如driver,find_element等
    '''
    # 實例化BasePage類時,事先執(zhí)行的__init__方法,該方法需要傳遞參數
    def __init__(self,driver,url):
        self.driver = driver
        self.base_url = url
    # 進入網址
    def get(self):
        self.driver.get(self.base_url)
    #元素定位,替代八大定位
    def get_element(self,*locator):
        return self.driver.find_element(*locator)
    #點擊
    def left_click(self,*locator):
        ActionChains(self.driver).click(self.get_element(*locator)).perform()
    #輸入
    def send_text(self,text,*locator):
        self.driver.find_element(*locator).send_keys(text)
    #清除
    def clear_text(self, *locator):
        self.driver.find_element(*locator).clear()
    # 表單切換
    def switch_iframe(self,*locator):
        self.driver.switch_to.frame(self.driver.find_element(*locator))
    #窗口切換
    def switch_window(self,n):
        self.driver.switch_to.window(self.driver.window_handles[n])

2 :實現 SearchPage

from selenium.webdriver.common.by import By
from base.base_page import BasePage
class SearchOne(BasePage):
    def __init__(self,driver,url):
        BasePage.__init__(self,driver,url)
    #進入百度
    def open_baidu(self):
        self.get()
    #輸入數據
    def input_search_content(self,text):
        self.send_text(text,By.ID,"kw")
    # 點擊按鈕
    def click_baidu_search(self):
        self.left_click(By.ID, "su")
    def click_open_hao(self):
        self.left_click(By.XPATH,".//*[@id='1']/h3/a[1]")

3 :實現 TestCase

import unittest
from selenium import webdriver
from page.page_one import SearchOne
from page.page_two import SearchTwo
class BaiBu(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        cls.driver = webdriver.Firefox()
        cls.driver.implicitly_wait(10)
    def test001(self):
        url="http://www.baidu.com"
        s = SearchOne(self.driver,url)
        s.open_baidu()
        s.input_search_content("123")
        s.click_baidu_search()
        s.click_open_hao()
        self.driver.switch_to.window(self.driver.window_handles[1])
    def test002(self):
        s=SearchTwo(self.driver,"")
        s.open_baidu_map()
    def tearDown(self) -> None:
    #      self.driver.quit()
        pass
if __name__ == '__main__':
    unittest.main()

PO 模式的優(yōu)點

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

2 :頁面對象與用例分離,使得我們更好的復用對象

3 :可復用的頁面方法代碼會變得更加優(yōu)化

4 :更加有效的命令方式使得我們更加清晰的知道方法所操作的 UI 元素

以上就是Python自動化測試PO模型封裝的詳細內容,更多關于Python自動化測試PO模型的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python中Task封裝協程的知識點總結
  • Python面向對象封裝繼承和多態(tài)示例講解
  • Python 調用C++封裝的進一步探索交流
  • Python如何實現Paramiko的二次封裝
  • 使用Python封裝excel操作指南
  • python excel和yaml文件的讀取封裝
  • python 使用paramiko模塊進行封裝,遠程操作linux主機的示例代碼
  • Python之根據輸入參數計算結果案例講解

標簽:怒江 長春 吉林 清遠 泉州 洛陽 安慶 岳陽

巨人網絡通訊聲明:本文標題《Python自動化測試PO模型封裝過程詳解》,本文關鍵詞  Python,自動化,測試,模型,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python自動化測試PO模型封裝過程詳解》相關的同類信息!
  • 本頁收集關于Python自動化測試PO模型封裝過程詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品久久五月天| 56国语精品自产拍在线观看| 美女脱光内衣内裤视频久久网站 | 国产精品亚洲一区二区三区在线| 亚洲一区二区在线观看视频| 亚洲四区在线观看| 日韩一区在线看| 一区二区三区影院| 一区二区三区四区中文字幕| 一区二区三区免费| 亚洲成人免费影院| 日韩国产欧美三级| 国产精品一区二区无线| 成人激情小说乱人伦| 91蜜桃免费观看视频| 欧美视频在线一区二区三区| 欧美日韩综合不卡| 亚洲精品一区二区三区香蕉| 国产午夜精品久久久久久免费视| 国产精品视频线看| 亚洲成av人片www| 国模套图日韩精品一区二区| 成人性生交大片免费看中文网站| a亚洲天堂av| 欧美伦理电影网| 久久久噜噜噜久噜久久综合| 亚洲色图一区二区三区| 午夜久久久久久久久久一区二区| 韩国午夜理伦三级不卡影院| 97久久超碰精品国产| 欧美电影一区二区| 国产精品久久久久aaaa樱花 | 中文一区二区完整视频在线观看| 亚洲免费观看高清完整版在线| 五月婷婷久久丁香| 粉嫩av一区二区三区| 69av一区二区三区| 国产精品毛片高清在线完整版| 亚洲第一福利一区| 成人短视频下载| 91精品国产欧美一区二区| 中文字幕一区二区不卡| 日一区二区三区| 丁香另类激情小说| 日韩一卡二卡三卡四卡| 亚洲精品五月天| 国产 日韩 欧美大片| 欧美一区二区三区免费观看视频| 国产精品久久久久久亚洲伦| 久久精品久久综合| 欧美在线高清视频| 国产精品福利一区| 国产成人免费视频| 久久色视频免费观看| 午夜成人在线视频| 91黄视频在线观看| 中文字幕一区三区| 懂色av一区二区夜夜嗨| 26uuu亚洲| 日本午夜精品视频在线观看| 欧美视频第二页| 亚洲精品v日韩精品| 91一区在线观看| 国产精品电影一区二区三区| 国产乱一区二区| 精品国产免费一区二区三区四区| 视频一区视频二区中文| 欧美日韩一区视频| 午夜电影网亚洲视频| 欧美精品视频www在线观看| 亚洲国产视频a| 欧美视频自拍偷拍| 亚洲午夜在线视频| 制服丝袜在线91| 奇米影视7777精品一区二区| 欧美精品一卡二卡| 日韩—二三区免费观看av| 日韩一区二区精品| 精品综合久久久久久8888| 久久夜色精品国产噜噜av| 精品影视av免费| 久久精品视频网| 97久久超碰精品国产| 亚洲一区二区精品3399| 在线成人午夜影院| 久久精品国产精品亚洲精品| 久久午夜色播影院免费高清| 成人精品在线视频观看| 一二三区精品视频| 在线电影一区二区三区| 国产福利电影一区二区三区| 国产精品福利一区二区| 欧美性受极品xxxx喷水| 日韩黄色一级片| 久久久www成人免费毛片麻豆| 成人在线视频首页| 亚洲bdsm女犯bdsm网站| 精品国产乱码久久久久久蜜臀| 国产麻豆精品一区二区| 综合电影一区二区三区| 3d动漫精品啪啪一区二区竹菊| 91小视频在线| 麻豆国产精品视频| 中文字幕色av一区二区三区| 欧美在线观看视频一区二区三区| 美女精品自拍一二三四| 中文文精品字幕一区二区| 欧美性大战久久久久久久蜜臀| 青青草97国产精品免费观看| 18欧美亚洲精品| 精品日韩一区二区三区免费视频| 91影视在线播放| 国产一区二区电影| 亚洲国产成人tv| 国产天堂亚洲国产碰碰| 欧美三级中文字| 成人开心网精品视频| 日韩av在线播放中文字幕| 成人欧美一区二区三区1314| 日韩欧美国产综合| 欧美在线观看视频一区二区三区| 国产91精品欧美| 麻豆一区二区三区| 亚洲成人资源网| 亚洲人成在线播放网站岛国| 久久久久9999亚洲精品| 欧美一区二区三区婷婷月色| 日本高清免费不卡视频| av不卡一区二区三区| 国产v日产∨综合v精品视频| 蜜桃一区二区三区四区| 亚洲高清免费在线| 一区二区三区在线观看网站| 亚洲国产成人一区二区三区| 久久久影视传媒| 337p粉嫩大胆色噜噜噜噜亚洲 | 国产片一区二区| 欧美一区二区三级| 日本高清成人免费播放| 99久久婷婷国产精品综合| 国产99一区视频免费| 国产精品1024久久| 国产精品一区二区男女羞羞无遮挡| 免费成人av在线| 日韩国产精品久久久| 免费人成精品欧美精品| 日日摸夜夜添夜夜添亚洲女人| 亚洲国产精品自拍| 亚洲高清中文字幕| 天堂午夜影视日韩欧美一区二区| 亚洲欧美国产77777| 一区二区成人在线| 亚洲成人在线观看视频| 亚洲国产精品欧美一二99| 亚洲444eee在线观看| 欧美a级一区二区| 国产在线视频一区二区三区| 国产在线精品免费| 成人一级片在线观看| 91免费观看视频| 欧美色图在线观看| 日韩一区二区电影网| 久久综合给合久久狠狠狠97色69| 久久久www免费人成精品| 中文字幕在线播放不卡一区| 伊人开心综合网| 蜜臀av一级做a爰片久久| 国产一区二区三区黄视频| 成人动漫av在线| 欧美性xxxxxx少妇| 日韩免费观看高清完整版| 国产网站一区二区| 亚洲最大的成人av| 日韩av成人高清| 国产精品综合av一区二区国产馆| 99久久er热在这里只有精品66| 欧美性受xxxx| 精品国产1区二区| 亚洲丝袜美腿综合| 日韩av一二三| 成人性视频免费网站| 欧美人xxxx| 国产精品色一区二区三区| 丝袜脚交一区二区| 国产不卡免费视频| 欧美一区二区三区男人的天堂| 国产精品久久久久婷婷| 日本在线不卡视频| 91视频精品在这里| 欧美成人伊人久久综合网| 亚洲已满18点击进入久久| 久国产精品韩国三级视频| 色综合色综合色综合色综合色综合| 日韩一级片网址| 亚洲伊人伊色伊影伊综合网| 国产精品一级在线| 日韩欧美成人激情| 丝袜美腿亚洲综合| 欧美视频一区二区在线观看| 国产精品久久一级|