999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web應(yīng)用系統(tǒng)自動化技術(shù)的探索

2015-09-27 08:23:03潘曉利劉永志
現(xiàn)代計(jì)算機(jī) 2015年29期
關(guān)鍵詞:頁面系統(tǒng)

潘曉利,劉永志

(1.河源職業(yè)技術(shù)學(xué)院電信學(xué)院,河源 517000;2.南京航天航空大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 210016;3.宣城職業(yè)技術(shù)學(xué)院信息工程系,宣城 242000)

基于Web應(yīng)用系統(tǒng)自動化技術(shù)的探索

潘曉利1,劉永志2,3

(1.河源職業(yè)技術(shù)學(xué)院電信學(xué)院,河源517000;2.南京航天航空大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京210016;3.宣城職業(yè)技術(shù)學(xué)院信息工程系,宣城242000)

0 引言

近十幾年來,Web的發(fā)展十分迅速,技術(shù)演變也比較快,從靜態(tài)HTML到動態(tài)的ASP、JSP等再到近期流行的ajax、xml、openAPI、云,讓人眼花繚亂。自動化測試技術(shù)在這一階段也有長足的發(fā)展,涌現(xiàn)出不少優(yōu)秀的產(chǎn)品,例如被HP收購的QTP、LoadRunner,IBM的RFT、開源界的Selenium等,各具特色。這些自動化測試工具對軟件的質(zhì)量保障起著至關(guān)重要的作用,很大程度上提高了測試效率,擴(kuò)大了測試覆蓋范圍,尤其是在可持續(xù)集成呼聲日高的今天,自動化測試已經(jīng)成為了軟件開發(fā)中不可或缺的一環(huán)。

對Web系統(tǒng)或Web應(yīng)用來說,可用的自動化工具比較多,商業(yè)產(chǎn)品、開源產(chǎn)品都有很豐富的選擇。但因?yàn)閷avaScript的支持、自定義控件的支持等原因,都不能做到開箱即用,需要加以整合、二次開發(fā)。

Watir,是近幾年比較流行的一個Web測試框架,以Ruby語言開發(fā),提供IE瀏覽器驅(qū)動,以DOM形式分析頁面,對頁面對象通過屬性進(jìn)行識別。因其簡單的學(xué)習(xí)曲線及功能足夠使用,用戶社區(qū)十分活躍,正在被越來越到的用戶采用。

AutoIt是一個Windows平臺上的批處理工具,簡單易用,隨著版本的演進(jìn),也成為了一種GUI自動化操作工具,提供類BASIC的腳本語言,利用模擬鍵盤、鼠標(biāo)的動作來完成自動化任務(wù)。在Windows桌面應(yīng)用上有很好的用戶基礎(chǔ)。

Cucumber是在RSpec基礎(chǔ)上發(fā)展出來的一個BDD框架,提供一種基于業(yè)務(wù)語言描述的測試用例寫法,通過將業(yè)務(wù)語言與自動化腳本映射進(jìn)行自動化測試,提供對需求覆蓋的支持、對數(shù)據(jù)驅(qū)動測試的支持等。有較廣泛的用戶群。

傳統(tǒng)的Web自動化測試工具,大都還專注在頁面DOM對象識別方面,對新興技術(shù)例如AJAX等缺乏有效的支持。

常見工具無法單獨(dú)處理復(fù)雜Web頁面中存在的如下幾個問題:①Web頁面包含F(xiàn)lash,或Web頁面本身就是Flash;②Web頁面中使用了ActiveX插件;③Web頁面中包含自定義的JavaScript框架或?qū)ο螅虎躓eb系統(tǒng)大量使用AJAX技術(shù)。

本文基于上述背景,提出集成Watir、AutoIt、Cucumber作為自動化測試系統(tǒng),具有靈活、可擴(kuò)展的優(yōu)勢。它利用Watir驅(qū)動瀏覽器模擬用戶行為動作,AutoIt處理activeX插件,Cucumber進(jìn)行業(yè)務(wù)描述與測試腳本的匹配,通過plugin的方式引入對Flash對象的支持,以Page Object方式組織腳本。主要解決了UI對象變動導(dǎo)致的后續(xù)維護(hù)工作量大、Flash及AJAX缺乏必要支持等問題。

1 自動化系統(tǒng)介紹

本自動化測試系統(tǒng)的架構(gòu)圖如圖1所示,依次分為測試支撐層、測試描述層、測試管理層3層。測試支撐層主要以Watir框架、AutoIt的dll庫為主要組件,以plugin的方式引入對Flash、AJAX等的支持,以Page Object的方式進(jìn)行封裝;測試描述層以Cucumber框架為基礎(chǔ),在其上自定義feature文件來描述測試用例;測試管理層提供Web和管理客戶端兩種方式,對資源進(jìn)行調(diào)度,驅(qū)動任務(wù)執(zhí)行,收集測試結(jié)果。

圖1 系統(tǒng)框架圖

圖2 系統(tǒng)運(yùn)行邏輯示意圖

使用系統(tǒng)進(jìn)行自動化測試時,Web或管理客戶端會從bug管理系統(tǒng)抽取測試用例,驅(qū)動支撐庫進(jìn)行測試,流程如圖2所示。

2 關(guān)鍵技術(shù)分析

(1)瀏覽器驅(qū)動及頁面對象識別

對瀏覽器的驅(qū)動和頁面對象的識別,以Watir框架為基礎(chǔ),從watir-classic中的代碼可以看出,Watir原生只提供了IE的驅(qū)動,對于FireFox、Chrome等瀏覽器,需要導(dǎo)入webdriver模塊。簡單的對象,如button、文本輸入框等,可以簡單的通過對象屬性來進(jìn)行識別。例如一個登錄頁面的用戶名部分,HTML代碼描述如下:<input id="txtUserName"name="txtUserName"type=" text"value=""size="25"style="background-color:transparent;border:0px"/></td>,要將其用戶名輸入設(shè)為admin,可通過以下腳本處:ie.text_field(:id,"txtUserName"). set('admin')。

對于復(fù)雜的頁面對象,例如圖3所示的時間選擇框,HTML描述比較復(fù)雜,并且隨著時間的不同,某一天是周一還是周二也會隨之變化,需要動態(tài)進(jìn)行處理,這里我們需要引入如圖4所示的代碼。在頁面對象能夠逐一識別后,將同一頁面的對象封裝到一個Page Object對象中。

圖3 時間選擇框

圖4 時間框選擇腳本

(2)業(yè)務(wù)語言描述的測試用例

自動化測試用例的編寫,對普通測試工程師來說,需要熟悉腳本語言的開發(fā),門檻一直比較高。在本系統(tǒng)中我們引入了業(yè)務(wù)語言描述,測試工程師可以按照既定規(guī)則編寫業(yè)務(wù)語言描述的測試用例,測試開發(fā)工程師再將業(yè)務(wù)描述的用例與測試腳本進(jìn)行映射,測試腳本中使用的對象通常對放在Page Object庫中。如下圖所示:

圖5 

(3)瀏覽器插件支持

對于頁面中嵌入的ActiveX插件,例如播放器插件等,Watir并不能夠識別,需要引入AutoIt庫來提供支持。下圖是點(diǎn)擊打開文件選擇框選擇文件的代碼實(shí)

圖6 

(4)Flash對象支持

Flash對象的支持,在sahi等商用測試工具中目前也處于demo狀態(tài),沒有很好的工業(yè)級實(shí)現(xiàn)。在本系統(tǒng)中我們將FlashWatir作為plugin進(jìn)行集成,從而實(shí)現(xiàn)對內(nèi)嵌Flash的控制。示例代碼如下圖:

圖7 

3 實(shí)現(xiàn)功能

本系統(tǒng)在業(yè)界進(jìn)行了小范圍試用,能夠比較好地支持目前常見的瀏覽器如IE、FireFox、Chrome等,可以正常對普通Web頁面、包含F(xiàn)lash對象的頁面、帶有插件的頁面等進(jìn)行自動化測試。與傳統(tǒng)的Web自動化測試工具相比,系統(tǒng)支持的技術(shù)對象更加豐富,輕量級更便于部署,測試資源的調(diào)度分配更靈活。圖8是NMS的一條業(yè)務(wù)語言描述的測試用例,圖9是一個測試套運(yùn)行結(jié)束的結(jié)果及運(yùn)行配置需要注意的前后次序設(shè)置。

圖8 業(yè)務(wù)語言描述的測試用例

4 結(jié)語

本系統(tǒng)實(shí)現(xiàn)了對常用Web系統(tǒng)的自動化測試,能夠比較靈活的調(diào)度測試資源、收集測試結(jié)果,以數(shù)據(jù)驅(qū)動方式運(yùn)行測試。但在Flash對象的支持方面,還需要開發(fā)將測試的swf納入代碼重新編譯,并非嚴(yán)格的黑盒系統(tǒng),對測試資源的調(diào)度策略也僅實(shí)現(xiàn)了任務(wù)數(shù)的有無,并未考慮到CPU、內(nèi)存等資源占用情況,對于測試過程中的驗(yàn)證,手段也比較雜亂,沒有做統(tǒng)一的封裝,后續(xù)還有很大的改進(jìn)空間。從打造一個云測試系統(tǒng)來說,后期主要考慮改進(jìn)Flash對象的支持黑盒化,資源調(diào)度及任務(wù)分派等方面向云平臺靠攏。

圖9 

[1]CHAI Tao-lun.Automated universal testing and tutoring system for Web application.Computer Science and Information Technology,Aug 2009.

[2]AutoIt J Kohl,P Rogers.Watir works.Better Software,2005.

[3]http://www.autoitscript.com/site/autoit/.

Web;Automatic Testing;Watir;AutoIt;Cucumber

Application of Automatic Technology System Based on Web Technology

PAN Xiao-li1,LIU Yong-zhi2,3
(1.Heyuan Polytechnic,Heyuan 517000;2.Nangjing University of Aeronautics and Astronautics,Nanjing 210016;3.Xuancheng Vocational&Technical College,Xuancheng 242000)

1007-1423(2015)29-0069-04

10.3969/j.issn.1007-1423.2015.29.017

潘曉利(1978-),女,洛陽伊川人,講師,碩士,研究方向?yàn)榍度胧杰浖夹g(shù)應(yīng)用

2015-08-18

2015-10-10

基于當(dāng)前Web測試中存在的問題,提出集成Watir、AutoIt、Cucumber作為自動化測試系統(tǒng)。它利用Watir驅(qū)動瀏覽器模擬用戶行為動作,AutoIt處理ActiveX插件,Cucumber進(jìn)行業(yè)務(wù)描述與測試腳本的匹配,通過plugin的方式引入對Flash對象的支持,以Page Object方式組織腳本。主要解決了UI對象變動導(dǎo)致的后續(xù)維護(hù)工作量大、Flash及AJAX缺乏必要支持等問題,能夠比較好地支持目前常見的瀏覽器如IE、FireFox、Chrome等,可以正常對普通Web頁面、包含F(xiàn)lash對象的頁面、帶有插件的頁面等進(jìn)行自動化測試。該系統(tǒng)具有靈活、可擴(kuò)展的優(yōu)勢。

Web;自動化測試;Watir;AutoIt;Cucumber

安徽省質(zhì)量工程項(xiàng)目(No.20101452)、安徽高校基金重點(diǎn)課題(No.KJ2014A285)

劉永志(1973-),男,博士,副教授,高工,研究方向?yàn)檐浖夹g(shù)與數(shù)據(jù)挖掘

Presents an integrated Watir,AutoIt,Cucumber automated testing system based on the current Web testing problems.It uses Watir to drive browser simulated user actions,AutoIt to ActiveX plug-ins,Cucumber service to descript and test script matching,plugin to support the flash object,Page Object to organize script.This system is to solve the problems of the object movements leading to the subsequent maintenance workload,F(xiàn)lash and AJAX lack the necessary support and other issues.This system can be better support the current browsers such as IE,F(xiàn)ireFox,Chrome for test automation.The system has a flexible,extensible advantage.

猜你喜歡
頁面系統(tǒng)
微信群聊總是找不到,打開這個開關(guān)就好了
大狗熊在睡覺
Smartflower POP 一體式光伏系統(tǒng)
刷新生活的頁面
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 中日韩一区二区三区中文免费视频| 毛片久久网站小视频| 色综合中文综合网| 一级不卡毛片| 在线播放91| www.国产福利| 激情综合网激情综合| 久久国产精品夜色| 亚洲AV无码一区二区三区牲色| 色偷偷综合网| 久爱午夜精品免费视频| 色综合天天娱乐综合网| 欧美成人二区| 国产日本视频91| 国产a v无码专区亚洲av| 久久精品91麻豆| 粉嫩国产白浆在线观看| 91久久精品国产| 亚洲欧美综合在线观看| 亚洲经典在线中文字幕| 免费人成视网站在线不卡| 国产精品亚欧美一区二区三区| 综合色亚洲| 国产精品毛片一区| 手机在线免费不卡一区二| 亚洲无限乱码一二三四区| 日韩欧美国产中文| 亚洲自偷自拍另类小说| 一级黄色网站在线免费看| 亚洲av无码专区久久蜜芽| 欧美精品成人一区二区在线观看| 色天堂无毒不卡| 性视频一区| 91精品网站| 精品久久综合1区2区3区激情| 国产自在自线午夜精品视频| 亚洲人成影院在线观看| 少妇人妻无码首页| 国产午夜精品鲁丝片| 欧美无专区| 曰韩免费无码AV一区二区| 日韩欧美网址| 人妻21p大胆| 在线欧美一区| 欧美啪啪一区| 国产成人亚洲精品无码电影| 精品一区国产精品| 在线国产你懂的| 国产在线自揄拍揄视频网站| 99久久国产综合精品女同| 全部免费特黄特色大片视频| 国产白丝av| 日本色综合网| 久久久久无码国产精品不卡| 欧类av怡春院| 91免费观看视频| 午夜日b视频| 国产成人精品在线| 亚洲无码37.| 国产美女精品一区二区| 伊人成人在线| 国产成人久久777777| 日韩精品一区二区三区免费在线观看| 亚洲成人网在线播放| 久久中文电影| 国产主播一区二区三区| 亚洲精品片911| 在线观看亚洲精品福利片| 国产性精品| 国产一区二区三区精品久久呦| 真人免费一级毛片一区二区| 尤物国产在线| 91免费精品国偷自产在线在线| 97久久免费视频| 亚洲天堂视频在线播放| av天堂最新版在线| 国产资源免费观看| 亚洲黄色视频在线观看一区| 国产小视频免费观看| 乱色熟女综合一区二区| 国产91av在线| 亚洲一级毛片在线观播放|