基于Java和selenium的自動(dòng)化操作工具的設(shè)計(jì)與實(shí)現(xiàn)
引言
企業(yè)內(nèi)部使用的業(yè)務(wù)系統(tǒng)很多操作都屬于重復(fù)性的機(jī)械操作,對(duì)于企業(yè)員工來(lái)說(shuō),企業(yè)系統(tǒng)的操作是其日常工作內(nèi)容之一,企業(yè)員工每天需要處理繁多的系統(tǒng)操作任務(wù),根據(jù)調(diào)查訪談發(fā)現(xiàn),很多企業(yè)的員工使用應(yīng)用系統(tǒng)的時(shí)間往往超過(guò)6h,除了基本流程工作以外,他們還要承擔(dān)繁瑣的系統(tǒng)點(diǎn)擊等重復(fù)性錄入工作。由于批量處理需求數(shù)量眾多,且錄入的數(shù)據(jù)過(guò)多,容易出現(xiàn)錄入誤操作等情況,一方面直接影響用戶(hù)使用,另一方面也影響了公司應(yīng)用系統(tǒng)的數(shù)據(jù)質(zhì)量。
為了解決企業(yè)系統(tǒng)操作中存在的問(wèn)題,提高企業(yè)員工的整體工作效率,本文設(shè)計(jì)了一種基于Java和selenium的自動(dòng)化操作工具,通過(guò)自動(dòng)化測(cè)試工具模擬企業(yè)員工登錄企業(yè)的應(yīng)用系統(tǒng),將需要批量處理的工作任務(wù)以結(jié)構(gòu)化表格的方式進(jìn)行存儲(chǔ),由程序自動(dòng)讀取表格中的工作任務(wù)并從頁(yè)面自動(dòng)完成人員查詢(xún)以及業(yè)務(wù)操作等工作。
1技術(shù)原理
本工具主要原理為通過(guò)UI自動(dòng)化測(cè)試框架selenium模擬人工網(wǎng)頁(yè)操作過(guò)程,對(duì)批量操作工作自動(dòng)執(zhí)行,降低人力重復(fù)性工作量。
(1)建立系統(tǒng)操作數(shù)據(jù)分析模型,對(duì)各個(gè)操作環(huán)節(jié)的點(diǎn)擊情況進(jìn)行統(tǒng)計(jì)分析,定位采用自動(dòng)化手段效果最明顯的操作環(huán)節(jié)。基于Java技術(shù)以及selenium自動(dòng)化測(cè)試框架,開(kāi)發(fā)批量處理工具,以完成企業(yè)系統(tǒng)操作的自動(dòng)化。
(2)將原來(lái)手動(dòng)操作系統(tǒng)的方法,更改為批量填寫(xiě)結(jié)構(gòu)化的Excel表格。程序根據(jù)Excel表填寫(xiě)的錄入信息要求,模擬系統(tǒng)管理員登錄企業(yè)管理系統(tǒng)進(jìn)行點(diǎn)擊動(dòng)作,自動(dòng)執(zhí)行預(yù)先設(shè)定的程序腳本,實(shí)現(xiàn)系統(tǒng)操作方式從人工手動(dòng)到程序自動(dòng)的改變,提高系統(tǒng)操作效率,并為企業(yè)員工減負(fù)。
(3)通過(guò)程序方式實(shí)現(xiàn)操作過(guò)程的全面跟蹤,自動(dòng)記錄操作的狀態(tài)情況,使系統(tǒng)操作處理可控可管,方便對(duì)操作過(guò)程進(jìn)行跟蹤和回滾,實(shí)現(xiàn)操作級(jí)別的審計(jì)跟蹤。
2設(shè)計(jì)與實(shí)現(xiàn)
2.1Selenium自動(dòng)化測(cè)試框架
selenium是一個(gè)自動(dòng)化工具,具有開(kāi)源性、跨平臺(tái)性以及眾多的編程語(yǔ)言支持的特點(diǎn),是網(wǎng)頁(yè)自動(dòng)化測(cè)試、網(wǎng)頁(yè)數(shù)據(jù)爬蟲(chóng)的利器。其可以直接運(yùn)行在瀏覽器中,模擬真實(shí)用戶(hù)操作,包括瀏覽頁(yè)面、點(diǎn)擊鏈接、輸入文字、提交表單、觸發(fā)鼠標(biāo)事件等等,并且能夠?qū)?yè)面結(jié)果進(jìn)行驗(yàn)證。只要在測(cè)試用例中把預(yù)期的用戶(hù)行為與結(jié)果都描述出來(lái),就得到了一個(gè)可以自動(dòng)化運(yùn)行的功能測(cè)試套件,如同真正用戶(hù)在操作一般。
2.2功能設(shè)計(jì)
企業(yè)系統(tǒng)自動(dòng)化操作工具功能設(shè)計(jì)如圖1所示。
2.3功能實(shí)現(xiàn)
通過(guò)Java技術(shù),利用自動(dòng)化測(cè)試框架,研發(fā)和發(fā)布企業(yè)系統(tǒng)自動(dòng)化操作工具,編制一鍵執(zhí)行腳本,方便企業(yè)員工進(jìn)行自動(dòng)化操作。
2.4結(jié)構(gòu)化設(shè)計(jì)
通過(guò)Excel批量填寫(xiě)需要操作的附加信息,將本來(lái)非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化整理,實(shí)現(xiàn)大量操作的批量處理,大量節(jié)省人工逐項(xiàng)點(diǎn)擊操作的時(shí)間成本。
2.5日志審計(jì)功能設(shè)計(jì)
通過(guò)程序腳本實(shí)現(xiàn)操作的跟蹤和回滾,實(shí)時(shí)掌握操作過(guò)程的狀態(tài)以及結(jié)果,一是方便企業(yè)員工跟蹤執(zhí)行結(jié)果,二是記錄每次執(zhí)行的操作,實(shí)現(xiàn)在誤操作的情況下實(shí)現(xiàn)自動(dòng)回滾。
3測(cè)試實(shí)驗(yàn)
下面選取一個(gè)企業(yè)系統(tǒng)作為樣例,對(duì)工具進(jìn)行模擬測(cè)試,設(shè)計(jì)自動(dòng)化點(diǎn)擊流程,如圖2所示。
3.1實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果如表1所示。
從表1可以看出,采用自動(dòng)化工具后與人工操作對(duì)比,工具操作時(shí)間只需人工操作時(shí)間的1/4,能大幅降低操作處理時(shí)間。
3.2經(jīng)濟(jì)效益分析
采用本工具前,按照企業(yè)平均每人每天需要處理5張工單,每張工單15項(xiàng)操作步驟,平均每項(xiàng)操作步驟耗時(shí)2min計(jì)算,每人每天一共需要(5×15×2)÷60=2.5h開(kāi)展系統(tǒng)操作工作。使用本文設(shè)計(jì)的工具后,每張工單操作點(diǎn)擊的時(shí)間縮短至10min以?xún)?nèi),則每人每天一共僅需花費(fèi)50min即可處理5張工單,極大地減少了時(shí)間成本。在企業(yè)員工配置方面,實(shí)驗(yàn)企業(yè)專(zhuān)門(mén)進(jìn)行系統(tǒng)操作的人數(shù)由8人調(diào)整至4人,因此人員成本也相應(yīng)減少了。
4結(jié)語(yǔ)
通過(guò)設(shè)計(jì)實(shí)驗(yàn)發(fā)現(xiàn),本文所設(shè)計(jì)的工具方法具有很強(qiáng)的推廣性,對(duì)提升公司的整體管理水平產(chǎn)生了重大影響。由于本文提出的方法在軟件架構(gòu)設(shè)計(jì)上采用腳本流程化技術(shù),只需對(duì)流程腳本進(jìn)行簡(jiǎn)單改造即可實(shí)現(xiàn)任何網(wǎng)頁(yè)流程的自動(dòng)執(zhí)行,具備跨專(zhuān)業(yè)推廣的意義,不同企業(yè)均能采用本工具開(kāi)發(fā)不同的自動(dòng)執(zhí)行流程實(shí)現(xiàn)數(shù)據(jù)批量錄入功能,減輕人力重復(fù)性勞動(dòng)工作量,實(shí)現(xiàn)減負(fù)的目的。
采用本文設(shè)計(jì)的工具開(kāi)展工作,可以避免人工方式對(duì)機(jī)械重復(fù)操作易發(fā)生誤操作的安全隱患,杜絕由于錯(cuò)誤授權(quán)造成損失的可能性。顯著改善了企業(yè)現(xiàn)場(chǎng)作業(yè)環(huán)境,極大地減輕了人員勞動(dòng)強(qiáng)度,企業(yè)員工對(duì)工具的使用效果非常滿(mǎn)意,完全釋放了企業(yè)員工機(jī)械重復(fù)性的權(quán)限配置工作量。