1. 程式人生 > >淺談基於Selenium的Web自動化測試框架

淺談基於Selenium的Web自動化測試框架

 ● 面臨的挑戰

  從Google到Facebook,從Twitter到新浪微博,新一輪的網際網路熱潮正在全世界蔓延。隨著雲概念的日益清晰,越來越多的企業也已經擺脫了傳統的C/S架構的應用框架而轉投雲端計算的懷抱,Web已經成為我們生活工作的重心。

  有別於傳統的桌面應用開發,Web應用因為其迭代週期短,需求變化快特殊性質,越來越多的Web開發團隊在擁抱敏捷。同時隨著前端技術Javacript,Html5,等不斷被推出和完善,Web應用也變得越來越複雜很絢麗。這都給我們的測試帶來了挑戰。

  √ 持續變化的需求

  √ 複雜的UI(各種Javascript的外掛,Ajax等)

  √ 往往一個測試團隊需要應付多個專案的測試工作

  √ 非常有限的資源(人力,成本,等等…)

  √ 跨平臺(Linux,Mac,windows),跨瀏覽器(Firefox,Chrome,IE)

  ● 如何解決

  如何在有限的資源下,又可以解決目前我們廣大測試團隊所面臨的挑戰呢?ThoughtWorks公司推出的開源Web自動化測試工具Selenium給我們帶來了解決之道。Selenium基於Javascript並結合其WebDriver來模擬使用者的真實操作,它有很好的處理Ajax的能力,並且支援多種瀏覽器(Safari,IE,Firefox,Chrome),可以執行在多種作業系統上面。

  但是Selenium只是幫我們解決了執行層面的問題,在大規模的自動化測試

專案中,我們還需要一個基於Selenium平臺的測試框架,這個框架需要有以下的特性。

  √ 支援資料驅動(DDT)

  √ 物件庫的分離和管理

  √ 自動化測試指令碼的組織和管理

  √ 指令碼的可重用(團隊)和可配置

  結合上面的需求,在這裡介紹兩個基於Selenium的Web自動化測試框架,它們都採用了資料驅動的設計方式,可以對於測試指令碼的組織和執行進行靈活的管理和配置。

  ● Watip

  Web Application Test In Python (http://code.google.com/p/watip),這個是我用Python寫的一個簡單的基於Selenium的資料驅動的測試框架。設計借鑑了之前一個朋友的測試框架的設計模式。採用XML形式來實現資料驅動和測試指令碼的管理。

 

  ……………………

  ● Ringo

  Ringo是Google內部使用的一個基於Selenium的Web自動化測試框架,它在GTAC2010的大會上做了介紹。Ringo是用Java開發,結合了TestNG實現了資料驅動和高度可配置化,並且具有很好的物件庫的管理的功能,是一個比較成熟的測試框架。

  從Ringo的架構中可以看出,Ringo實現了資料,物件,操作的3者完全分離。並且對於一些公共的指令碼進行了抽取和重構(SeleniumHelper),程式碼的複用率非常高。所有的測試用例都是可配置話。

  ……

  本文收錄於《51測試天地》電子雜誌第二十一期。

本文出自51Testing軟體測試網電子雜誌——《51測試天地》第二十一期。51Testing軟體測試網及相關內容提供者擁有51testing.com內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容複製、轉載或進行映象,否則將追究法律責任。

相關推薦

接口自動化測試

底層 繼續 api 驅動 接口測試工具 腳本管理 target 單個 put 昨晚在某個測試交流群,聽了一個測試老司機分享接口自動化測試的內容,對接口自動化有了更深的一些認識,也為接下來公司的接口自動化實施,提供了更多的思路。 這篇博客,就說說功能測試到接口自動化的進階,以

如何提高自動化測試的穩定性和可維護性 (pytest&allure)

裝飾器與出錯重試機制 談到穩定性,不得不說的就是“出錯重試”機制了,在自動化測試中,由於環境一般都是測試環境,經常會有各種各種的抽風情況影響測試結果,這樣就為測試的穩定性帶來了挑戰,畢竟誰也不想自己的指令碼一天到晚的出各種未知問題,而往往這種環境的抽風(通常是前端頁面的響應速度和後端介面的

python+selenium自動化測試的二次封裝思想

在進行web自動化測試的過程中,我們經常會重複執行很多指令碼,語句以及方法,這時,我們可以講常用的動作封裝到一個類中,以便多次呼叫比如可以將一些資料呼叫,以及其他常用方法封裝到類中,放到指定的包下在python自動化設計中,用例執行的資料可以使用excel來保管,所以可以將呼

基於Selenium的Web自動化測試框架

 ● 面臨的挑戰   從Google到Facebook,從Twitter到新浪微博,新一輪的網際網路熱潮正在全世界蔓延。隨著雲概念的日益清晰,越來越多的企業也已經擺脫了傳統的C/S架構的應用框架而轉投雲端計算的懷抱,Web已經成為我們生活和工作的重心。   有別於傳統

基於C#實現的自動化測試框架:發布自動觸發自動化回歸測試

exc 時間流 測試用例 出現 服務器 text types filter txt 接口自動化測試用例完成以後,以前都是發布以後手動運行測試用例。雖然手動運行下腳本也就是一個F5的事情,但是離自動化測試的標準差得很遠。這兩天有了個大膽的想法,想要實現以下發布時直接觸發自動化

基於python的接口自動化測試框架

urn __name__ exce 文件格式 圖片 XML pla main tex 公司內部的軟件采用B/S架構,大部分是數據的增刪改查,由於還在開發階段,所以UI界面的變化非常快,難以針對UI進行自動化測試,那樣會消耗大量的精力與時間維護自動化腳本。針對此種情況,針對接

[持續交付實踐] 基於 Junit 的接口自動化測試框架實現

lis ebo 命名 早已 更多 數據集 matcher 似的 相關 前言 這半個月基本都在出差以及各種公司業務上的事情,難得有空閑整理一些測試技術上的事情。周末有些空閑抓緊碼一篇填坑,持續交付/持續集成這一系列文章不僅僅是想在壇子裏和同行者做些分享,對個人的一種自我思考和

基於appium的app自動化測試框架

基於appium框架的app自動化測試 App自動化測試主要難點在於環境的搭建,appium完全是基於selenium進行的擴充套件,所以app測試框架也是基於web測試框架開發的 一、裝置連線 (即構建基礎的測試環境,保證可以驅動裝置進行操作) 0.準備測試環境 1)安裝jdk配置java_home環

基於APPIUM測試微信公眾號的UI自動化測試框架(結合Allure2測試報告框架

clas ava sed rom pos enabled via 代碼管理 ons 框架初衷 前兩周組內的小夥伴跟我說她現在測試的微信公眾號項目(保險)每次上新產品時測試起來很費時,存在大量的重復操作(點點點),手工測試每個產品可能需要半天到一天的時間,復雜的產品需要兩

一個基於python+selenium的page-object自動化測試框架

先上框架git連結:https://gitee.com/yukarijiang/watcher#0-qzone-1-79223-d020d2d2a4e8d1a374a433f596ad1440這個框架目前才剛剛起步,還有很多不完善和不適當的地方,但可以用於學習selenium

基於Jmeter和Jenkins介面自動化測試框架搭建詳細過程

 1. 下載地址 Jmeter: http://jmeter.apache.org/download_jmeter.cgi Ant:http://ant.apache.org/bindownload.cgi Jenkins:https://jenkins.io/inde

基於webdriver的web UI自動化測試框架(系統架構+測試指令碼應用架構)

1.首先是自動化測試系統架構如下圖: 2.測試指令碼的應用架構: 3實際應用後的工程結構: 框架的配置檔案(只是簡單的用properties檔案) #------------------# #  測試框架配置 #------------------# #

Selenium基於Python的web自動化測試框架(3)-搭建selenium環境

搭建環境 建立selenium虛擬環境 mkvirtualenv selenium-py3 selenium-py3是虛擬環境的名字 由於筆者本地只有python3版本,所以不需要指定python

基於Selenium技術的Web自動化測試框架

時光飛逝,轉瞬之間,已在計算機軟體這個行業,在開發和測試崗位工作了10年。而這其中的酸楚,苦澀和甜美,恐怕只有親身經歷過才能深有體會。 在當今資訊社會,飛速發展的時代大背景下,小小的我,無疑是幸運的。感謝奮戰過的每一個崗位,感謝每一位領導,感謝每一位同事。是他們提供了平臺和

基於TestNG的自動化測試框架ATS

一、需求        由於目前很多公司缺少相應的整合測試框架,對於場景的測試全部是黑盒測試,黑盒測試目前在公司測試有一個很大的缺點:每一次迭代都需要測試人員測試所有的功能,如果有一個場景沒有測試到就有可能導致嚴重的bug,這樣就帶來了測試人員在每次迭代釋出的時候重複勞動;為

Python 基於python+Testlink+Jenkins實現的介面自動化測試框架

目錄 8、 說明 win7 PyCharm 4.0.5 python 3.3.2 testlink-1.9.14 TestLink-API-Python-client-master 1、框架集成了Testlink,可

基於httpclient和mysql的介面功能自動化測試框架

最近一直在做httpclient介面測試,功能自動化的框架1.0算是初步完成,中間遇到了很多問題,學到了不少知識,基本思想是mysq結合testNG,在去用jekins整合。分享一下自己做的PPT。 簡介: 1.語言:java (1)基礎語法 (2)基本資料型別 (3)ja

基於Selenium+Python的web自動化測試框架

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

Java自動化測試框架-02 - TestNG之理論到實踐 - 紙上得來終覺,絕知此事要躬行(詳細教程)

理論 TestNG,即Testing, NextGeneration,下一代測試技術,是一套根據JUnit 和NUnit思想而構建的利用註釋來強化測試功能的一個測試框架,即可以用來做單元測試,也可以用來做整合測試。因為TestNG是從Junit的思想構建而來,所以TestNG具備junit等所不具備的多重功

《Selenium自動化測試實戰:基於Python》Selenium自動化測試框架入門

第1章  Selenium自動化測試框架入門  1.1  Selenium自動化測試框架概述   說到目前流行的自動化測試工具,相信只要做過軟體測試相關工作,就一定聽說過Selenium。   圖1-1是某企業招聘自動化測試工程師的資訊,大家可以看到在崗位任職條件方面明確