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

基于Web應用系統自動化技術的探索

2015-09-27 08:23:03潘曉利劉永志
現代計算機 2015年29期
關鍵詞:頁面系統

潘曉利,劉永志

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

基于Web應用系統自動化技術的探索

潘曉利1,劉永志2,3

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

0 引言

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

對Web系統或Web應用來說,可用的自動化工具比較多,商業產品、開源產品都有很豐富的選擇。但因為對JavaScript的支持、自定義控件的支持等原因,都不能做到開箱即用,需要加以整合、二次開發。

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

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

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

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

常見工具無法單獨處理復雜Web頁面中存在的如下幾個問題:①Web頁面包含Flash,或Web頁面本身就是Flash;②Web頁面中使用了ActiveX插件;③Web頁面中包含自定義的JavaScript框架或對象;④Web系統大量使用AJAX技術。

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

1 自動化系統介紹

本自動化測試系統的架構圖如圖1所示,依次分為測試支撐層、測試描述層、測試管理層3層。測試支撐層主要以Watir框架、AutoIt的dll庫為主要組件,以plugin的方式引入對Flash、AJAX等的支持,以Page Object的方式進行封裝;測試描述層以Cucumber框架為基礎,在其上自定義feature文件來描述測試用例;測試管理層提供Web和管理客戶端兩種方式,對資源進行調度,驅動任務執行,收集測試結果。

圖1 系統框架圖

圖2 系統運行邏輯示意圖

使用系統進行自動化測試時,Web或管理客戶端會從bug管理系統抽取測試用例,驅動支撐庫進行測試,流程如圖2所示。

2 關鍵技術分析

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

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

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

圖3 時間選擇框

圖4 時間框選擇腳本

(2)業務語言描述的測試用例

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

圖5 

(3)瀏覽器插件支持

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

圖6 

(4)Flash對象支持

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

圖7 

3 實現功能

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

圖8 業務語言描述的測試用例

4 結語

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

圖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-),女,洛陽伊川人,講師,碩士,研究方向為嵌入式軟件技術應用

2015-08-18

2015-10-10

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

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

安徽省質量工程項目(No.20101452)、安徽高?;鹬攸c課題(No.KJ2014A285)

劉永志(1973-),男,博士,副教授,高工,研究方向為軟件技術與數據挖掘

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,Flash and AJAX lack the necessary support and other issues.This system can be better support the current browsers such as IE,FireFox,Chrome for test automation.The system has a flexible,extensible advantage.

猜你喜歡
頁面系統
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 国产欧美精品一区aⅴ影院| 1级黄色毛片| 久久青青草原亚洲av无码| 九九精品在线观看| 青青草国产在线视频| 国内精品视频在线| 亚洲中久无码永久在线观看软件| 国产精欧美一区二区三区| 国产爽爽视频| 麻豆国产精品一二三在线观看| 亚洲国产日韩欧美在线| 九色国产在线| 熟妇无码人妻| 欧美全免费aaaaaa特黄在线| 亚洲成人免费在线| 国产区成人精品视频| 沈阳少妇高潮在线| 色综合手机在线| 欧美成人综合视频| 亚洲VA中文字幕| 亚洲成人www| 欧美亚洲国产一区| www精品久久| 成年人久久黄色网站| 国产欧美精品一区aⅴ影院| 亚洲成人高清无码| 尤物成AV人片在线观看| 国产精品久线在线观看| 91亚洲精品国产自在现线| 高清久久精品亚洲日韩Av| 亚洲日韩欧美在线观看| 亚洲无码不卡网| 九九九精品视频| 久久综合伊人77777| 精品福利视频导航| 欧美在线三级| 成人一级免费视频| 亚洲黄色片免费看| 亚洲美女一级毛片| 蜜臀AVWWW国产天堂| 色噜噜狠狠色综合网图区| 美女裸体18禁网站| 久久99国产综合精品1| 日韩无码视频网站| 一本久道久综合久久鬼色| 亚洲码在线中文在线观看| 国产成年无码AⅤ片在线 | 亚洲狠狠婷婷综合久久久久| 911亚洲精品| 成人日韩视频| 国产免费久久精品44| 玖玖免费视频在线观看| 少妇精品在线| 国产成人免费| 亚洲中文无码h在线观看| 91在线无码精品秘九色APP| 91精品综合| 日韩天堂网| 国产亚洲精品无码专| 在线观看国产黄色| 亚洲欧洲国产成人综合不卡| 亚洲国模精品一区| 在线观看免费人成视频色快速| 麻豆精品久久久久久久99蜜桃| 丰满人妻一区二区三区视频| 福利在线一区| 亚洲国产成人无码AV在线影院L| 国产一级无码不卡视频| 久久精品一卡日本电影 | 色网站在线视频| 国产精品尤物铁牛tv| 国产情精品嫩草影院88av| 亚洲无码精彩视频在线观看| 色九九视频| 高清无码手机在线观看| 久久国产精品麻豆系列| 欧美综合一区二区三区| 无码高潮喷水在线观看| 97国产一区二区精品久久呦| 亚洲大尺码专区影院| 91精品国产自产在线老师啪l| 国产成人精品亚洲日本对白优播|