操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    摘要:

    隨著我行自動化測試實施范圍的不斷擴大,參與界面自動化測試的應用系統越來越多。我行的應用系統現階段多采用商用工具QTP(UFT)作為執行工具來進行界面自動化測試,采購的QTP 是有限的,使得資源的競爭越來越激烈。未來,使用開源/免費的界面自動化測試代替QTP,是必然發展的趨勢。本文基于前期調研結果,對比分析了幾款業界主流的開源界面自動化測試工具,供自動化測試相關人員學習參考。

    關鍵字:開源、自動化測試、、

    自動化測試由手工測試發展而來,在當前商業銀行“持續迭代、快速交付”的大背景下,自動化測試是必然趨勢。對于投產前的全量回歸測試和大量數據的業務邏輯覆蓋測試,自動化測試將大大的減少人力投入,提升測試效率,擴大測試覆蓋面,降低投產風險。

    前期,我行界面自動化測試工具主要依賴 (簡稱QTP,現已升級更名為UFT)。該軟件具有價格昂貴、客戶端架構龐大、有限、對部分C/S類應用(比如:客戶端、銀企通客戶端、海外分行OIBS客戶端等)支持不良等原因,其被開源或免費的自動化測試工具取代是必然趨勢。

    前期,系統支持部組織調研了十余款界面自動化測試工具,下面介紹幾種業界主流的開源/免費界面自動化測試工具。

    2.1

    是 Works公司開發的開源Web功能測試工具集,是當前web端系統最受歡迎的開源自動化測試工具之一。包含了測試的錄制( IDE)php讀取數據庫復選框數據,測試的并行處理( Grid),編寫與運行( )。 Grid主要架構圖如圖1所示, Grid主要包含兩個核心組件: Hub與 (簡稱RC,或 RC)。 hub負責分發測試用例給 RC; RC負責調用瀏覽器驅動運行自動化測試腳本。

    圖1 Grid架構圖

    中定義了如下強大的描述元素的定位方法:

    (1)通過id、name定位,如:.tye(“id=abc”,“百度”);.type(“name=”,“百度”)。

    (2)通過link=鏈接文字定位,如.click(“link=最近更改”)。

    (3)根據xpath定位,如 tpye(“xpath=//input[@name=‘user.email’,“”)。

    (4)Dom選擇及Css選擇器定位(不常用)。

    2.2

    是微軟開發的界面自動化測試工具,是.NET 的組件之一,可進行C/S類應用的界面自動化測試。此自動化庫一開始就是為可訪問性和UI測試自動化任務而專門設計的,使用UI自動化庫來測試運行支持.NET 的操作系統,例如 XP、 Vista、 7、 2003和 2008等操作系統主機上的Win32應用程序、.NET 窗體應用程序和WPF應用程序。

    在中,所有的窗體、控件都表現為一個,中包含此控件或窗體的屬性,在實現自動化的過程中,通過其相關屬性進行對控件自動化操作。所有顯示在桌面上的UI,其實際上是一個UI Tree,根節點是。在中,根節點表示為 。通過根節點,可以通過窗體或控件的 Id、 Names或者 Name找到相應的子,例如、、、等標準控件,通過控件所對應的進行相關的操作。

    的體系結構如圖2所示:

    2 的體系結構

    (1)在服務端由.dll和.dll提供;

    (2)在客戶端由.dll和.dll提供;

    (3).dll為UI自動化的核心部分,負責端和端的交互;

    (4).dll為客戶端程序提供自動化支持。

    2.3 Watir

    Watir是基于Ruby庫的開源Web自動化測試工具,支持、Opera、IE等瀏覽器。Watir腳本以.rb為文件擴展名,腳本頭應為“ ‘watir’”,確??梢栽L問Watir工具。Watir腳本的運行模式是Watir-,Watir-是基于Ruby開發web驅動框架,支持所有的HTML元素。目前網上關于Watir的介紹資料較少。

    在設計Watir自動化測試腳本時需要熟悉常用的Ruby腳本語法。Watir常用語法列舉如下:

    (1)創建一個IE的測試實例:ie=Watir::IE.new或者使用start方法創建一個瀏覽器實例并轉到一個頁面,ie=Watir::IE.start(“”;);

    (2)頁面導航:ie.goto(“”;);

    (3)操縱超鏈接、復選框、下拉框等Web頁面對象,例:使用name屬性設置復選框,ie.(:name,”check”).set。

    2.4 Sahi

    Sahi是一款由印度公司Tyto 開發的基于業務的開源Web自動化測試工具。Sahi運行為一個代理服務器,并通過注入來訪問Web頁面中的元素。Sahi支持HTTPS并且獨立于Web站點,簡單小巧卻功能強大。它相對于等自動化測試工具,在動態ID元素查找和隱式頁面等待處理等方面具有一定的優勢。

    Sahi簡單易用,能夠很好地支持Ajax和Web2.0技術,同時適用于敏捷和瀑布兩種項目模式。Sahi自帶錄制功能,支持幾乎所有的瀏覽器,且對JS支持較好,具備頁面等待判斷機制、內置Java異常報告、支持Ajax等優勢。尤其值得一提的是,Sahi內置的智能頁面等待機制,能夠自動判斷Ajax請求是否已經處理完畢,然后繼續下一步操作。并且這一點對于用戶是“隱式”的,不需要增加額外的代碼。

    Sahi的工作原理大致分為三步:錄制、精煉腳本和回放,具體步驟如下:

    (1)錄制:首先將Sahi其設置為瀏覽器的代理服務器,這樣Sahi的腳本就能夠通過請求,注入到里以訪問Web頁面中的元素。

    (2)精煉腳本:錄制的腳本都是指定元素并唯一操作的,這時就需要對代碼進行重構,抽取出核心的功能塊,對其中的元素進行參數化處理,以實現重用。腳本中的數據可以從外部的數據庫或文件中讀取而來。同時,也可調用Sahi的API或外部Java等API實現一些特定的功能。

    (3)回放:自動執行Sahi精煉好的腳本,并生成測試報告。

    2.5

    是一款功能強大的測試自動化解決方案,適用于Web應用程序,支持、Web、API等類型的自動化測試。它基于和框架構建, 利用這些解決方案實現集成軟件自動化。

    可以集成到CI/CD流程中,并且可以與QA流程中的流行工具配合使用,包括qTest,JIRA,和Git。它還提供一個稱之為 的功能,這個功能可以通過儀表板為用戶提供測試執行報告的全面視圖,包括圖表、圖形和指標等。 可以管理頁面元素、測試數據、測試案例、生成自動化測試報告等php讀取數據庫復選框數據,覆蓋整個自動化測試流程及所需資產。 允許用戶自定義,Test 、,也可以導入外部的jar包實現更為復雜的功能,該工具的擴展性很強。

    2.6 Robot

    Robot 是由諾基亞-西門子基于開發的一套開源自動化測試工具,采用關鍵字驅動,并可以通過或Java實現的測試庫進行擴展,用戶可以使用與創建測試用例相同的語法從現有的關鍵字創建新的更高級別的關鍵字。

    Robot 框架是跨平臺的,獨立于操作系統和應用程序。核心框架使用實現,支持和,并且還可以在(JVM),(.NET)和PyPy上運行。該框架有豐富的測試庫生態,由各種通用測試庫(包括內置庫、擴展庫和自定義庫)和工具組成,這些庫被作為單獨的項目開發。

    Robot 作為一款跨平臺的通用的、與應用程序和技術無關的測試框架,具有一個高度模塊化的架構,具體的架構如下:

    3 Robot 測試架構圖

    該架構清晰的將測試工作分成了4層:數據層、測試框架、測試庫或第三方測試工具、被測系統。Robot 起到了一個承上啟下的測試管理平臺,以測試庫和第三方工具驅動測試數據對被測系統開展自動化測試,整個測試過程Robot 不與被測系統有任何關聯。

    這些工具都是開源/免費的界面自動化測試工具,我們可以根據需要對其進行二次開發與封裝,具有很強的靈活性。

    3.1支持瀏覽器及操作系統

    以上工具都具有跨平臺性的特征。

    支持多種瀏覽器,支持、、、 、等多種瀏覽器,可以在Mac、Linux、等多種操作系統上運行;

    主要支持客戶端應用的錄制,對于web端的控件識別能力有限,不建議使用其實施B/S類應用的界面自動化測試。

    Sahi同樣支持、、、 、等多種瀏覽器,可以在、Linux等操作系統上運行;

    Watir-幾乎支持所有的瀏覽器,比如、 、等多種瀏覽器,但是不支持,可以在Mac、Linux、等多操作系統上運行;

    支持、 、等多種瀏覽器,可以在Mac、Linux、等多操作系統上運行。

    Robot 可通過集成插件支持多種瀏覽器,可以在Mac、Linux、等多操作系統上運行。

    3.2入門的難易程度

    可以直接的通過IDE進行錄制、回放等,降低了入門門檻,腳本的調試和維護需要一定的編程基礎;

    可以使用spy++或者等工具獲取對象定位信息,再執行腳本編輯,入門門檻較高;

    Watir要求測試人員必須懂基本的Ruby語法規則,需要使用命令行安裝,搭建集成環境復雜,入門門檻較高;

    Sahi自帶錄制器,可通過點擊頁面來錄制腳本,并對腳本進行精煉,支持多種數據源,入門門檻中等;

    工具支持不同級別的測試人員使用。非程序員可以使用 Spy來記錄測試腳本。程序員可以更加節省構建和維護腳本的時間,并基于工具提升擴展性,靈活實現所需功能;

    Robot 需要測試人員自己編寫腳本,對于關鍵字測試驅動熟悉的測試人員相對容易上手,入門門檻較高。

    3.3支持的語言

    支持多種編程語言,例如Java、PHP、、Ruby等。與其他自動化測試相比,給予用戶自定義測試腳本的多種方式。

    主要支持C#;Watir僅僅支持Ruby語言;Sahi主要支持Sahi ,同時還支持Java和Ruby; 支持Java和;Robot 支持、Java。相比較而言,支持多種編程語言,靈活性較強。

    根據以上分析和對比,整理表1工具分析對比圖。

    表 1 工具對比分析圖

    3.4總結

    綜上,在web端的錄制中 相對簡單易用,錄制腳本可視化強,案例編寫維護方便;支持腳本語言較多。而在客戶端的錄制上面比較成熟,定位信息準確。

    4結束語

    本文對比總結了幾種開源/免費的界面自動化測試工具。

    目前,我行自動化測試平臺(ATP)為支持不同應用系統的界面自動化測試需求,已經封裝了QTP、、三款界面自動化測試工具,對用戶提供統一的描述語言,屏蔽了工具間的差異,降低了自動化測試的入門門檻,較好地的滿足了項目使用需求。

    后續,我們會進一步加強對開源/免費自動化測試工具的研究,逐步降低對商用工具的依賴。根據實際使用需求,適時引入新的界面自動化測試工具,并進行二次封裝,滿足不同類型應用系統的自動化測試需求,降低使用的難度,節省使用時間,提升測試效率。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有