真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

python基于Selenium的web自動化框架-創(chuàng)新互聯

1 什么是selenium

萬年ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

Selenium 是一個基于瀏覽器的自動化工具,它提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid:

  • Selenium IDE:Firefox的一個擴展,它可以進行錄制回放,并可以把錄制的操作以多種語言(例如java,python等)的形式導出成測試用例。
  • Selenium WebDriver:提供Web自動化所需的API,主要用作瀏覽器控制、頁面元素選擇和調試。不同的瀏覽器需要不同的WebDriver。
  • Selenium Grid:提供了在不同機器的不同瀏覽器上運行selenium測試的能力

本文中主要使用python結合Selenium WebDriver庫進行自動化測試框架的搭建。

2 自動化測試框架

一個典型的自動化測試框架一般包括用例管理模塊、自動化執(zhí)行控制器、報表生成模塊和日志模塊等,這些模塊之間不是相互孤立的,而是相輔相成的。

下面來介紹下每個模塊的邏輯單元:

  • 用例管理模塊

用例管理模塊包括用例的添加、修改、刪除等操作單元,這些單元也會涉及到用例書寫的模式,測試數據的管理、可復用庫等

  • 自動化執(zhí)行控制器

控制器是自動化用例執(zhí)行的組織模塊,主要負責以什么方式去執(zhí)行用例。比較典型的控制器有用戶圖形界面(GUI)和“commandline+文件”兩種。

  • 報表生成模塊

報表生成模塊主要負責執(zhí)行完用例以后生成報表,報表一般以HTML格式居多,信息主要包括用例的執(zhí)行情況及相應的總結報告。另外還可以添加發(fā)送郵件功能。

  • 日志模塊

日志模塊主要用來記錄用例的執(zhí)行情況,以便于更高效的調查用例失敗信息及追蹤用例執(zhí)行情況。

3 自動化框架的設計與實現

3.1 需求分析

測試對象是一個典型的后臺系統(tǒng)的Web展現平臺,基于此平臺設計的自動化框架要包含測試用例管理、測試執(zhí)行控制、測試報表及測試日志的生成,整體測試框架要輕量易用。

3.2 概要設計

概要設計包括了四個大的模塊:公共庫模塊(可復用函數、日志管理、報表管理以及發(fā)送郵件管理)、用例倉庫(具體用例的管理)、頁面管理(單獨對Web頁面進行抽象,封裝頁面元素和操作方法)以及執(zhí)行模塊。

概要設計類圖:

3.3 詳細設計與實現

3.3.1 頁面管理

測試Web對象是一個典型的單頁面應用,因此采用頁面模式(page pattern)來進行組織:

頁面模式是頁面與測試用例之間的橋梁,它將每個頁面抽象成一個單獨的頁面類,為測試用例提供頁面元素的定位和操作。

頁面模式的類圖如下:

BasePage作為基類只包含一個driver成員變量,它用來標記Selenium中的WebDriver,以便在BasePage的派生類中定位頁面元素。LoginPage和PageN等作為派生類,可以提供相應頁面元素的定位和操作方法。比如測試對象的登錄頁面:

從頁面可以看出,需要操作的頁面元素分別為:Username,Password,remember my username checkbox和Sign in按鈕,它們對應的操作為輸入用戶名和密碼,點選checkbox和點擊Sign In按鈕,具體代碼級別的實現如下:

頁面基類BasePage.py:

class BasePage(object): 
  """description of class""" 
 
  #webdriver instance 
  def __init__(self, driver): 
    self.driver = driver 

新聞標題:python基于Selenium的web自動化框架-創(chuàng)新互聯
URL網址:http://weahome.cn/article/ccpppi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部