国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

GUI自動化測試原理剖析

開發 測試 自動化
一般是指軟件測試的自動化,軟件測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。本文主要介紹就是JAVA篇自動化測試,來看本文。

 

序言:接觸過自動化測試工具的測試人員,例如,Rational fuction teste,QTP等,一定對“錄制—回放”這種機制不陌生吧,但是又有多少人能夠了解其內部大概的運行機制呢?更又有多少人能從代碼級別及其框架去分析其運作原理呢?

我一直覺得,你不理解它,你就無法用好它,更別說去拓展它成一個框架或者平臺了。

它,在錄制時,是怎么獲取對象的?可以不通過錄制的方式獲得對象嗎?

它,在回放時,是采用調用什么方式進行回放的?可以通過API或者自己編寫代碼使其錄制的腳本進行回放嗎?

自己如何去編寫一個簡單的“錄制—回放”工具呢?

那么,今天就大概根據自己的簡單介紹一下這種機制,希望能夠幫助大家一起真正走入一個自動化測試的“大門”。

一、工具如何實現錄制和回放

首先大概介紹一下自動化測試工具實現錄制和回放的兩種方法,其重點是對象的識別。

1、靜態映射:當錄制時,通過ObjectMap,將需要識別的JAVA應用程序的組件對象映射進對象庫,然后,回放時,RFT首先根據正在運行的JAVA程序到對象庫去查找相應的對象,若匹配到對應屬性閾值適合的對象,則調用其腳本中的方法對對象執行操作。

一般的工具在工具與AUT之間都有一個代理,這個代理就是包裹著實際要測試的界面的控件,而ObjectMap是腳本層面的東西,它們之間存在一個映射關系。RFT通過代理與AUT進行交互。

需要明白的是,由于swing組件的樹形結構關系,因此,ObjectMap中的映射出來的對象也是采用這種形式,雖然RFT中可以通過自己設置識別閾值的方式,但是對界面更改的適應能力還是不高。

2、動態搜索:應用動態搜索就可以不需要采用錄制的方式了,而且也不需要對象庫的方式,它是直接通過調用工作庫中的API來定制相應的組件屬性進行查找即可;回放時,自動化測試工具會獲取正在運行的JAVA程序的各個組件屬性,然后進行屬性匹配,若是能夠匹配到相應符合的屬性,則會進行腳本規定的方法操作;

所以,應用動態搜索的方式,雖然在識別效率上降低了,但是其識別能力大大提高,界面如何變化,只要屬性值不變,就沒有太大問題,這也是為什么需要開發在開發JAVA程序的時候,盡量在屬性值里添加一個唯一的識別屬性ID了,這樣做的目的可以使自動化測試更好的開展,這也可以作為以后各位的一個DFT需求了。

二、錄制和回放的原理

經過了第一環節的介紹,大家對自動化測試工作實現錄制和回放的兩種方式大概有所了解,但是深層次是怎么樣的呢?

借用關于JAVA的事件生命周期的一幅圖片來說明:

JAVA的事件生命周期

測試人員通過對界面的操作會生成一系列的事件,這些事件在工具的代碼中會由事件生成后放在系統事件隊列內部。現在事件處于事件分發線程的控制下。事件在隊列中等待處理,然后事件從事件隊列中選出,送到dispatchEvent()方法,dispatchEvent()方法調用processEvent()方法并將事件的一個引用傳遞給processEvent()方法。此刻,系統會查看是否有送出事件的位置,如果沒有這種事件類型相應的已經注冊的監聽器,或者如果沒有任何組件受到激活來接收事件類型,事件就被拋棄。

錄制時,采用了監聽器模式,和平常swing編程不同的是,這里的監聽器不是針對某個組件的,而是針對某種事件的。也就是說,任何組件發出的同一類型的事件,比如鼠標或者鍵盤事件,都會被其相應的監聽器捕獲到,然后進行處理。然后將捕獲到的JAVA事件,可以以某種格式保存在腳本文件中,這里就需要一個轉換機制了。

回放時,則從腳本文件讀取并還原事件,這里會用到java.awt.Robot類(JDK1.3之后引入的一個類,能模擬鼠標和鍵盤操作),這個類通常用來在自動化測試或程序演示中模擬系統事件,這個類主要的目的就是為方便的實現java的GUI自動化測試平臺。在事件回放時,我們同樣需要該類來模擬生成系統的事件,完成記錄的操作的回放

三、Gui自動化測試的簡單框架架構

GUI

1、類加載器或者應用程序加載器,則是去加載相應的應用程序或者主類,這樣可以指定需要測試的應用程序。

2、事件監聽器,則是對應用程序所產生的各種事件的一個監聽機制,可以通過拓展不同的事件監聽來獲得不同的事件。

3、腳本解析器,包括腳本記錄器與腳本讀取器兩個模塊,一個可以從監聽器中獲得事件的有效信息并記錄,可以指定記錄到生成相應腳本。一個可以從本地腳本文件或文本域中讀取腳本信息,并解釋成相應事件。

4、Robot類再封裝,即是一個模擬回放器,將從腳本解析器解析過來的代碼通過調用Rboot類進行模擬鼠標和鍵盤的一系列操作。

一個GUI自動化測試框架的基本架構大概就是這樣,如果有興趣的朋友可以深入研究,因為商業化的自動化測試工作實現的架構比這個要復雜一些,但原理基本還是一樣的。

WEB與WIN32等界面自動化測試的原理架構大致也是如此,不過實現方式還是很不一樣的,關鍵是調用的庫方式不一樣,具體在以后可以一起討論。

四、選擇一種合適的自動化測試方案

所以根據以上架構和原理,在自動化測試項目開展過程中

1、有資源和人力的情況下,可以考慮自己去開發一個簡單的自動化測試工具,這樣的好處是靈活,能夠很好的與自身的產品結合起來,缺點就是耗費資源太大,而且開發自動化測試工具不一定能好用。

2、可以結合相應的開源自動化測試工具(例如:測試swing的可以用abbot),這種方式優點就是免費而且實現也有一定的基礎,缺點就是其功能不一定滿足其需求。

3、采用商業性的自動化測試工作(例如:RFT),這種方式的優點是成熟度高,而且能很快的應用到項目中,但是注意的是需要自己去搭建一個框架,個人建議,應用RFT的話最好直接應用其API去拓展一個自己的庫,通過自己的庫去搭建一個適應自己需求的框架,這個在后期會介紹。

總之:各種方案的實行方式還是得具體根據項目的需求來,需求才是導向,而且個人根據經驗:不要為了做自動化而自動化,不要去為了做自動化而迷戀入技術而不可自拔,一定要在適當的時候采用適當的方式,步步為進。真心希望大家都能做好自動化測試。

版權聲明:本文出自 散步的SUN 的51Testing軟件測試博客:http://www.51testing.com/?382641

【編輯推薦】

  1. 整體思考自動化測試發展和價值回報
  2. 談自動化測試框架思想與構建
  3. 軟件自動化測試在功能測試中的應用
  4. 自動化測試面面觀
  5. 如何評估自動化測試工作量
責任編輯:于鐵 來源: 51Testing軟件測試博客
相關推薦

2012-03-29 10:57:12

Web自動化測試

2022-02-17 10:37:16

自動化開發團隊預測

2012-02-27 17:34:12

Facebook自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2013-05-16 10:58:44

Android開發自動化測試

2014-04-16 14:15:01

QCon2014

2011-12-23 17:09:57

自動化測試

2021-06-30 19:48:21

前端自動化測試Vue 應用

2012-12-24 22:54:31

2024-11-01 15:05:12

2025-08-11 15:23:05

2023-03-27 15:37:43

自動化測試開發

2014-11-20 13:49:15

2011-01-20 10:17:25

ibmdwWeb

2011-05-30 17:31:26

自動化測試

2022-05-10 11:18:42

自動化測試軟件測試

2022-06-08 14:22:55

自動化測試測試

2009-08-19 09:00:48

單元測試框架自動化測試

2021-06-25 10:57:30

前端自動化測試開發

2021-06-26 07:40:21

前端自動化測試Jest
點贊
收藏

51CTO技術棧公眾號

精品国内自产拍在线观看| 亚洲va韩国va欧美va精四季| 国产精品一区二区中文字幕| 亚洲国产高清在线观看视频| 加勒比一区二区三区| 日韩欧美在线第一页| 视频黄页在线| 91精品欧美久久久久久动漫| 丰满的护士2在线观看高清| 色噜噜狠狠色综合网图区| 老司机凹凸av亚洲导航| a级影片在线观看| 亚洲视频日韩精品| 久久wwww| 91亚洲人电影| 视频在线在亚洲| 大肉大捧一进一出好爽视频| 亚洲成a人片在线观看中文| 色呦呦视频在线观看| 久久福利视频网| 婷婷色综合网| 日本三级中文字幕在线观看| 国产精品电影一区二区| 老司机99精品99| 在线视频99| 大片网站久久| 美女网站在线看| 国内高清免费在线视频| 国产私拍一区| 欧美在线制服丝袜| 91在线观看污| 最新欧美电影| 国产精品久久二区二区| 欧美被日视频| 亚洲欧美另类在线观看| 久久久久亚洲综合| 欧美日韩无遮挡| 欧美一区二区三区四区在线| 欧美中文字幕在线播放| 日韩欧美第一区| 亚洲综合影视| 日韩电影中文字幕av| 国产专区综合网| 精品亚洲一区二区三区在线播放 | 成人免费看视频网站| 国产精品偷伦免费视频观看的| 亚洲最大色网站| 久久久国产亚洲精品| www.youjizz.com在线| 成人国产精品色哟哟| 欧美日韩中字一区| 老鸭窝91久久精品色噜噜导演| 黄色av网站在线看| 亚洲一区二区三区欧美| 欧美成人免费一级人片100| 亚洲精品二三区| 日韩欧美色电影| 国产精品久久午夜夜伦鲁鲁| 奇米精品一区二区三区在线观看一| 亚洲人成精品久久久| 麻豆精品久久| 狠狠操综合网| 国产精品3区| 嫩草视频在线观看| 欧美一卡2卡3卡4卡无卡免费观看水多多| 久久天天躁狠狠躁老女人| 亚洲精品国产综合区久久久久久久| 99久久精品99国产精品| 国产在线观看91一区二区三区| 99久久这里有精品| 国产69精品久久| 另类图片综合电影| 国产色a在线| 日本xxxxxxx免费视频| 久久久神马电影| 91国产一区在线| xvideos亚洲| 欧美激情xxxx| 日韩亚洲欧美在线| 最近2019免费中文字幕视频三| 色综合久久久网| 亚洲精品aaaaa| 久久精品凹凸全集| 日本成人免费网站| 久久99精品国产.久久久久久 | 午夜精品影院在线观看| 欧美日韩亚洲一区三区| 高清一区二区三区| 一区二区免费不卡在线| 精品国产鲁一鲁****| 日韩毛片免费看| 欧美理论电影在线精品| 亚洲a∨精品一区二区三区导航| 日韩一区二区三区免费| 免费看日产一区二区三区| 欧美码中文字幕在线| 久久精品国产一区二区| 蜜桃免费在线| 欧美视频第三页| 亚洲激情啪啪| 亚洲爆乳无码专区| 国产特级毛片| 久久久久久三级| 天天爽人人爽夜夜爽| 肥女人的一级毛片| 在线观看的网站你懂的| 66视频精品| 日韩国产高清在线| 国产精品一二三四五| 亚洲国产日韩综合久久精品| 国产在线视频一区二区三区| 亚洲制服欧美中文字幕中文字幕| 色视频成人在线观看免| 久久精品99国产精品| 欧美日韩mp4| 色偷偷噜噜噜亚洲男人| 97超碰在线播放| 成人免费视频视频在线观看免费 | 合欧美一区二区三区| 你懂得在线网址| 精品毛片久久久久久| 亚洲成人中文字幕| a美女胸又www黄视频久久| 精品综合久久88少妇激情| 在线免费看黄色| 欧美一区二区福利| 日韩视频在线免费| 亚洲国产综合视频在线观看| 亚洲二区免费| 蜜桃视频成人m3u8| 久久精品无码一区二区日韩av| 99久久综合狠狠综合久久止| 中文字幕免费一区二区三区| 国产ts一区| 一本一本久久a久久综合精品| 国产精品夜夜夜爽张柏芝| 中文综合在线观看| 亚洲永久精品国产| 美女尤物久久精品| 欧美在线一级| 真不卡电影网| 色999日韩自偷自拍美女| 精品国产区一区二区三区在线观看| **欧美大码日韩| 伊人天天综合| 精品九九久久| 亚洲精品97久久久babes| 尤物国产精品| 国产91色在线免费| 91精品国产综合久久精品麻豆 | 久久中文字幕av| 在线电影福利片| 日韩免费毛片视频| 国产成人精品日本亚洲11| 尤物九九久久国产精品的特点 | 亚洲成人你懂的| 免费观看在线综合| 激情综合网站| 免费毛片b在线观看| 成人福利视频在| 亚洲欧美日韩不卡一区二区三区| 午夜欧美大片免费观看| 制服丝袜亚洲播放| 国产精品沙发午睡系列990531| 日韩电影在线一区二区| 国产精品一区二区av日韩在线| 九色porny丨首页入口在线| 成视频在线免费观看| 精品国产一区二区三区无码| 97超碰人人看人人| 97碰在线观看| 亚洲精品99久久久久| 亚洲成人高清在线| 91免费视频大全| 日韩中文字幕不卡| 97精品国产福利一区二区三区| 国产一区影院| 欧洲日本在线| 午夜3点看的视频| 国产av国片精品| 九九九九九精品| 国产精品精品久久久| 久久夜精品香蕉| 亚洲国产精品久久| 日韩欧美在线看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 性网站在线观看| 宅男午夜在线| 中文字幕无码精品亚洲35| 日本免费高清一区二区| 国产欧美一区二区三区四区| 色综合色综合久久综合频道88| 亚洲国产成人久久综合| 欧美日韩一区二区不卡| 亚洲一区二区偷拍精品| 91女人视频在线观看| 国产一区二区在线观看免费| 日韩亚洲在线| 女同性一区二区三区人了人一 | 亚洲男人在线|