公務(wù)員期刊網(wǎng) 論文中心 正文

自動化測試在資產(chǎn)管理中應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了自動化測試在資產(chǎn)管理中應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。

自動化測試在資產(chǎn)管理中應(yīng)用

就軟件測試中自動化測試資產(chǎn)管理中的應(yīng)用展開了研究,結(jié)合資產(chǎn)管理系統(tǒng)(僅適配IE瀏覽器)中資產(chǎn)變動模塊的相應(yīng)功能點進行了探討。在此基礎(chǔ)上,以資產(chǎn)變動信息為測試用例,使用Python編寫基于Selenium庫的自動化測試腳本。在腳本中增加了對Chrome瀏覽器的兼容處理,最終在Chrome瀏覽器中實現(xiàn)模擬手動操作,取得了與之在IE瀏覽器中相同的運行效果。隨著信息化時代的到來,采用資產(chǎn)管理系統(tǒng)的資產(chǎn)管理方式逐漸取代了傳統(tǒng)的手工管理方式,提高了資產(chǎn)管理工作的效率。然而現(xiàn)有的資產(chǎn)管理系統(tǒng)普遍存在一些問題。首先,受限于用戶界面和業(yè)務(wù)邏輯的設(shè)計,用戶體驗難免不夠便捷,且往往難以滿足批量操作的需求[1,2]。其次,國內(nèi)大部分企事業(yè)單位的資產(chǎn)管理系統(tǒng)采用B/S架構(gòu),系統(tǒng)可能存在瀏覽器兼容性問題,從而造成由CSS引起的顯示異?;蛘哂蒍avaScript(JS)引起的功能異常等[3,4]。近期,美國微軟公司宣布于2022年6月15日退出支持IE瀏覽器。因此,原本需要使用IE瀏覽器訪問資產(chǎn)管理系統(tǒng)網(wǎng)站的用戶將不得不尋找新的瀏覽器替代。眾所周知,針對上述問題,現(xiàn)行普遍的解決方案是讓用戶使用指定的瀏覽器;或者變更軟件需求,通過軟件開發(fā)解決問題。

1自動化測試

本文僅討論基于Selenium庫的網(wǎng)頁端自動化測試,使用的瀏覽器為Chrome瀏覽器,編程語言為Python[5]。

1.1產(chǎn)生/銷毀Chrome瀏覽器窗口句柄

首先,引入Selenium庫的WebDriver模塊。然后,通過driver=webdriver.Chrome()產(chǎn)生瀏覽器窗口句柄并打開一個Chrome瀏覽器窗口,通過driver.quit()銷毀瀏覽器窗口句柄并關(guān)閉Chrome瀏覽器窗口;最后,在產(chǎn)生句柄和銷毀句柄的這兩行代碼之間進行自動化測試代碼的書寫[6]。

1.2獲取HTML元素

通過driver.find_element_by_X()方法獲取單個元素、driver.find_elements_by_X()方法獲取多個元素,其中X可以是ID、Name、Class、XPath、CSS_Selector等,參數(shù)為元素對應(yīng)的屬性[7]。

1.3注入JavaScript腳本

通過driver.execute_script()方法在當前頁面中注入JS代碼,參數(shù)為寫有JS腳本的字符串,該方法可以改變頁面的前端布局以及前端JS腳本中各變量的值或狀態(tài)[7]。

2資產(chǎn)變動的功能點分析

由于部門的調(diào)整,當有人員調(diào)動時,其名下的資產(chǎn)一般會移交給原部門的其他同事。此時需要聯(lián)系資產(chǎn)管理員進行資產(chǎn)變動。

2.1選擇待變動的資產(chǎn)如圖1所示是某資產(chǎn)管理系統(tǒng)的資產(chǎn)列表頁面。首先,根據(jù)“資產(chǎn)編號”確定待變動的資產(chǎn);然后,通過點擊圖1所示的復選框選擇待變動的資產(chǎn);最后,點擊“選擇”按鈕確定所選資產(chǎn)。

2.2編輯資產(chǎn)變動信息

如圖2所示是某資產(chǎn)管理系統(tǒng)的資產(chǎn)變動頁面。首先,“使用/管理部門”“使用人”“存放地點”等字段通過點擊“選擇”按鈕,在彈出的模態(tài)對話框中填寫相應(yīng)的信息,保存信息時模態(tài)對話框?qū)⒆詣雨P(guān)閉,模態(tài)對話框中填寫的信息將自動填寫到上述字段所在的輸入框中;接著,“現(xiàn)狀”“使用方向”等字段通過下拉框選擇輸入;然后,根據(jù)實際變更的情況填寫“變動原因”;最后,點擊“保存”按鈕,如果檢查之后確定無誤,則點擊“提交”按鈕上報一級單位。

3自動化測試腳本的設(shè)計

本文的測試環(huán)境如表1所示,被測的資產(chǎn)管理系統(tǒng)僅在IE瀏覽器中可以正常運行,而在其他瀏覽器(如Chrome瀏覽器)中會出現(xiàn)影響功能正常使用的兼容性問題。接下來針對資產(chǎn)變動模塊操作的關(guān)鍵環(huán)節(jié)進行說明。

3.1在資產(chǎn)列表中選擇待變動資產(chǎn)

為選擇圖1中的待變動資產(chǎn),即操作相應(yīng)的復選框,一般通過復選框元素的ID、Name屬性值或CSS選擇器進行定位操作,當確認選擇時后端將獲取前端被選中的復選框元素的Value屬性值(資產(chǎn)編號通常寫在該屬性中)。在本文的被測系統(tǒng)中,因該元素的ID和Name屬性值均不含資產(chǎn)編號,而CSS選擇器不支持文本搜索,故考慮使用XPath語句匹配其Value屬性值從而實現(xiàn)定位。又因為顯示在前端的復選框元素的Value屬性值已被后端加密,加密方式無從得知,難以根據(jù)其Value屬性值進行篩選,所以需要使用其他的方法構(gòu)造XPath語句,具體步驟如下:第1步:從圖1中表格的第2行至最后一行內(nèi)的第3列單元格中的文本和待變動資產(chǎn)的編號進行匹配,即://table/tr/td[3][text()='資產(chǎn)編號'];第2步:在上一步XPath語句的基礎(chǔ)上繼續(xù)構(gòu)造XML路徑,用來表示上一步匹配結(jié)果所在行第1列單元格中的復選框,完整的XPath語句為//table/tr/td[3][text()='資產(chǎn)編號']/../td[1]/input;第3步:以上一步中的XPath語句為參數(shù),調(diào)用driver.find_element_by_xpath()方法獲取復選框元素,接著調(diào)用click()方法切換選中狀態(tài)。當需要選擇大量的待變動資產(chǎn)時,采用自動化測試腳本的方式可以快速準確地定位目標資產(chǎn),大大提升管理效率。

3.2模態(tài)對話框的打開、數(shù)據(jù)獲取

如圖3所示是一種模態(tài)對話框,在IE瀏覽器中可以正常打開,但在Chrome瀏覽器中卻不可以正常打開。造成該現(xiàn)象的原因在于,模態(tài)對話框是通過JS的window.showModalDialog()方法打開的,而該方法僅在IE瀏覽器中有定義。為了能夠在Chrome瀏覽器中打開模態(tài)對話框,一般采用window.showModalDialog()方法的重定義,即如果該方法已定義,則維持現(xiàn)狀;否則使用window.open()方法代替。當關(guān)閉模態(tài)對話框時,其父頁面將接收模態(tài)對話框返回的數(shù)據(jù)。如果是Chrome瀏覽器,在用上述方法打開模態(tài)對話框的前提下,可以在模態(tài)對話框所在的頁面中注入JS腳本,在腳本中使用window.opener.document對象來操作父頁面的HTMLDOM。如果要在不支持模態(tài)對話框的Chrome瀏覽器中打開模態(tài)對話框,那么需要在每個涉及到打開模態(tài)對話框的頁面中注入兼容代碼。顯然,手動操作的便利程度遠不及自動化測試腳本。

4結(jié)語

自動化測試腳本可以讓資產(chǎn)管理員按照自己的思路操作資產(chǎn)管理系統(tǒng),是在不改變被測系統(tǒng)源代碼的前提下基于被測系統(tǒng)的二次開發(fā)。同時,當訪問資產(chǎn)管理系統(tǒng)網(wǎng)站遇到瀏覽器兼容性問題(尤其是影響到功能的正常使用)時,調(diào)用諸如Selenium等自動化測試庫進行JS腳本注入便可以較好地解決此類問題。換言之,資產(chǎn)管理員可以將資產(chǎn)管理工作轉(zhuǎn)變?yōu)檐浖y試活動,即:以資產(chǎn)管理數(shù)據(jù)為測試用例,自動化測試腳本為執(zhí)行步驟,進行資產(chǎn)管理系統(tǒng)的自動化測試,在完成資產(chǎn)管理工作的同時可以檢查被測系統(tǒng)中可能存在的漏洞或缺陷。隨著人工智能的再度崛起,低端崗位逐步被智能設(shè)備取代。同時,HTML、CSS和JS在版本迭代中逐漸能夠適應(yīng)各大主流瀏覽器。這背后少不了軟件測試的深度參與。其中,自動化測試本身能夠替代一些簡單重復的手動測試。特別地,自動化測試程序還能調(diào)用人工智能算法,進一步替代較復雜的工作,加速推動軟件行業(yè)的發(fā)展。

作者:黃驥 單位:無錫科技職業(yè)學院