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文檔 縱橫頁面并存
主站蜘蛛池模板: 久久永久免费人妻精品| 成人午夜视频在线| 2020国产精品视频| 在线观看免费人成视频色快速| 超清无码熟妇人妻AV在线绿巨人| 人妻丝袜无码视频| 无码中文字幕乱码免费2| 丰满人妻久久中文字幕| 91视频99| 欧美激情第一区| 国产成人综合日韩精品无码首页| 日本少妇又色又爽又高潮| 久久精品国产电影| 久久国产精品77777| 国产网站免费| 国产乱人视频免费观看| 精品无码国产一区二区三区AV| 日韩高清一区 | 免费一级全黄少妇性色生活片| 亚洲天堂精品视频| 精品偷拍一区二区| 全午夜免费一级毛片| 免费看久久精品99| V一区无码内射国产| 国产男人天堂| 国产精品久久久精品三级| 国产成人精品高清不卡在线| 亚洲精品第1页| 欧美成人一级| 欧美色丁香| 日本欧美中文字幕精品亚洲| 99久久婷婷国产综合精| 国产福利免费视频| 99人妻碰碰碰久久久久禁片| 中文一级毛片| 欧美成人精品一区二区| 成人精品区| 婷婷亚洲视频| 波多野结衣久久高清免费| 97国内精品久久久久不卡| av尤物免费在线观看| 91精品日韩人妻无码久久| 日韩在线永久免费播放| 国内精品视频区在线2021| 国产成人精品视频一区二区电影| 国产精品一线天| www精品久久| 国产成人综合网| 久久综合丝袜长腿丝袜| 欧美激情伊人| 97国产精品视频自在拍| 中日无码在线观看| 秘书高跟黑色丝袜国产91在线 | 国产男人的天堂| 国产成熟女人性满足视频| 久久永久免费人妻精品| 欧美日韩一区二区在线播放| 久久国产成人精品国产成人亚洲| 亚洲欧洲自拍拍偷午夜色| 国产传媒一区二区三区四区五区| 麻豆精品国产自产在线| 天堂网国产| 国产人前露出系列视频| 国产尤物在线播放| 国产精女同一区二区三区久| 少妇露出福利视频| 天天躁狠狠躁| 3344在线观看无码| 99精品这里只有精品高清视频| 亚洲swag精品自拍一区| 久久国产拍爱| 成年人久久黄色网站| 亚洲精品日产精品乱码不卡| 中文无码精品A∨在线观看不卡| 欧美日本二区| 久久人搡人人玩人妻精品一| 国产精品福利尤物youwu| 无码aⅴ精品一区二区三区| 欧美伦理一区| 最近最新中文字幕在线第一页| 国产一在线| 亚洲成在人线av品善网好看|