亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的Canvas畫布元素定位在HolliView項(xiàng)目自動(dòng)化測(cè)試中的應(yīng)用

        2021-08-19 08:25:32王新月王奚
        現(xiàn)代計(jì)算機(jī) 2021年21期
        關(guān)鍵詞:圖元編輯器測(cè)試用例

        王新月,王奚

        (1.寧波和利時(shí)信息安全院有限公司,西安710075;2.北京和利時(shí)智能科技有限公司,西安710075)

        1 HolliView項(xiàng)目介紹

        HolliView產(chǎn)品是和利時(shí)公司數(shù)字工程操作系統(tǒng)定義的流程可視化統(tǒng)一解決方案,是基于HTML5標(biāo)準(zhǔn)的企業(yè)可視化組態(tài)一站式跨平臺(tái)解決方案,其包含通用組件、拓?fù)浣M件和3D渲染引擎等豐富的圖形界面類庫(kù),提供了完全基于HTML5的矢量編輯器、拓?fù)渚庉嬈骷?D場(chǎng)景編輯器等多套可視化設(shè)計(jì)工具,具備完善的事件觸發(fā)和腳本擴(kuò)展接口以靈活定制業(yè)務(wù)功能,并可無縫在多終端中適配。支持集成到第三方數(shù)字化系統(tǒng),支持接入SCADA系統(tǒng)數(shù)據(jù)或云平臺(tái)產(chǎn)品數(shù)據(jù),可對(duì)接多種外部數(shù)據(jù)源,如Oracle、MySQL、SQL Server等。產(chǎn)品定義了多種動(dòng)態(tài)特性、交互特性,用來展現(xiàn)產(chǎn)線工序情況,使產(chǎn)線流程更加生動(dòng)。

        2 元素特性自動(dòng)化測(cè)試的必要性

        頁(yè)面元素動(dòng)態(tài)特性及交互特性在現(xiàn)場(chǎng)是最基本的應(yīng)用,包括變色、填充、閃爍、可見、旋轉(zhuǎn)、自轉(zhuǎn)、平移、縮放、鼠標(biāo)動(dòng)作、顯示窗口、工具提示、有效性、數(shù)據(jù)修改等。使用頻率較高,所涉及的測(cè)試參數(shù)、邏輯條件、數(shù)據(jù)類型等分支組合出近千條測(cè)試用例,手工組態(tài)及在線驗(yàn)證步驟繁瑣,需耗費(fèi)大量的人工時(shí)間,且因?yàn)闇y(cè)試人員個(gè)體差異,測(cè)試結(jié)果輸入及測(cè)試判定存在不可控因素。

        以下均以變色特性為例進(jìn)行詳細(xì)說明,測(cè)試輸入影響參數(shù)如表1所示,測(cè)試時(shí)需覆蓋所有路徑,為了提高測(cè)試效率,有必要進(jìn)行動(dòng)態(tài)/交互特性自動(dòng)組態(tài)及在線輸出結(jié)果自動(dòng)驗(yàn)證。

        3 自動(dòng)化測(cè)試框架

        元素特性自動(dòng)化測(cè)試框架采用Python的Unittest測(cè)試框架[1],如圖1所示,主要包括元素、數(shù)據(jù)、公共方法、測(cè)試用例及測(cè)試執(zhí)行,其中Element.py主要存放測(cè)試過程所需定位的元素路徑,Data.py主要存放執(zhí)行測(cè)試用例時(shí)所需的表1中的參數(shù)組合,Public.py主要封裝了測(cè)試用例中常用的函數(shù)方法,如新建文件、畫圖、讀寫值等。Testcase.py則涵蓋了元素特性支持的所有分支,以確保任意地輸入?yún)?shù)都有明確的輸出。Runal?lTestcase.py定義測(cè)試用例路徑,加載所有測(cè)試用例并執(zhí)行,最后生成測(cè)試報(bào)告。使用Unittest測(cè)試框架大大減少了代碼編寫工作量,且節(jié)省調(diào)試時(shí)間,采用ddt數(shù)據(jù)驅(qū)動(dòng)直接獲取data中的輸入數(shù)據(jù),使測(cè)試用例輸入非常直觀且增刪更加簡(jiǎn)便。

        圖1 自動(dòng)化測(cè)試框架

        表1 變色特性組態(tài)測(cè)試用例輸入?yún)?shù)

        4 離線自動(dòng)化組態(tài)

        如圖2所示,HolliView離線編輯器界面包括上方圖元工具欄,左側(cè)文件導(dǎo)航欄,右側(cè)屬性欄,中間頁(yè)面繪圖區(qū)四個(gè)部分,四個(gè)區(qū)域均為Canvas繪制,在左側(cè)文件導(dǎo)航欄選中文件新建頁(yè)面、在圖元工具欄選中圖元在繪圖區(qū)畫圖需獲取文件夾在導(dǎo)航欄坐標(biāo)及圖元在圖元工具欄的精確坐標(biāo)。

        圖2 HolliView離線編輯器界面

        依據(jù)HolliView離線編輯器界面架構(gòu),獲取文件夾JS路 徑 信 息 為editor.displays.accordion.dirs,editor是html5內(nèi)置的全局對(duì)象,可直接調(diào)用,使用exe?cute_script[1]注入JS腳本即可,Python部分代碼如下。

        其他畫布中元素坐標(biāo)獲取方法類同,變色特性離線組態(tài)大的分支包含3個(gè)部分,分別是文本變色、線框變色、背景變色,首先登陸離線設(shè)計(jì)器,在左側(cè)文件導(dǎo)航欄選中文件夾,在選中文件夾下新建組態(tài)頁(yè)面,拖拽圖元(文本、正方形、橢圓等)到頁(yè)面指定位置畫出指定大小的圖形,右鍵圖元組態(tài)變色特性,遍歷表1中參數(shù)進(jìn)行輸入并完成變色特性的組態(tài),詳細(xì)流程如圖3所示。

        圖3 元素特性離線自動(dòng)化組態(tài)流程

        在手工測(cè)試中,增量測(cè)試版本重點(diǎn)測(cè)試新增功能,無法做到每個(gè)提測(cè)版本均重新組態(tài)所有的動(dòng)態(tài)/交互特性,常規(guī)測(cè)試方法是使用舊版本中已組態(tài)好的舊頁(yè)面進(jìn)行舊功能的驗(yàn)證以節(jié)省測(cè)試時(shí)間,因此離線自動(dòng)化組態(tài)既保證了每個(gè)提測(cè)版本都是對(duì)新組特性的驗(yàn)證,又節(jié)約了組態(tài)各特性的人工成本,為HolliView產(chǎn)品的交付時(shí)間和交付質(zhì)量提供了有力保證。

        5 在線自動(dòng)化驗(yàn)證

        變色特性組態(tài)邏輯見圖4,離線自動(dòng)化組態(tài)完成后登錄變色特性在線頁(yè)面,頁(yè)面數(shù)據(jù)與SCADA通訊過程如圖5所示,頁(yè)面數(shù)據(jù)的讀寫是通過WebApi接口完成的。若要使邏輯條件成立或不成立,需通過SCADA提供的WebApi接口來完成對(duì)SCADA測(cè)點(diǎn)值的讀寫,本例中讀寫值接口的調(diào)用是利用Python提供的requests庫(kù)的post方法requests.post(url,json,headers)[1]來完成的,在線驗(yàn)證輸入與輸出對(duì)應(yīng)關(guān)系見表2。

        圖4 變色特性離線組態(tài)示意圖

        圖5 HolliView與SCADA通訊過程

        表2 測(cè)點(diǎn)值與輸出結(jié)果對(duì)應(yīng)關(guān)系

        變色特性功能在線自動(dòng)化驗(yàn)證流程圖如圖6所示,圖元標(biāo)簽為“Node_1”,已預(yù)先存儲(chǔ)在data.py中。

        圖6 元素特性在線自動(dòng)化驗(yàn)證流程

        給SCADA測(cè)點(diǎn)AI_001寫值完成后,在線圖元顏色的獲取需要已知圖元顏色對(duì)應(yīng)的樣式屬性,HolliV?iew產(chǎn)品基于HT框架[2],HT在線頁(yè)面組件graphView綁定的數(shù)據(jù)模型JSON主要存儲(chǔ)了DataModel中的圖元data信息,以及DataModel的屬性。HT框架[2]所有組件都是通過綁定DataModel,以不同的形式呈現(xiàn)到用戶界面;同時(shí)組件也會(huì)監(jiān)聽DataModel模型的變化事件,實(shí)時(shí)同步更新界面數(shù)據(jù)信息。屬性分為三種類型。

        第一種是get/set類型,簡(jiǎn)稱p,如image屬性對(duì)應(yīng)的getImage()和setImage(image)函數(shù)。

        第二種是style類型,簡(jiǎn)稱s,如getStyle(‘lable.col?or’)和setStyle(‘lable.color’,’red’)。

        第三種類型是attr類型,簡(jiǎn)稱a,如getAttr(‘cus?tomProperty’)和setAttr(‘customProperty’,123)。

        本例中在線頁(yè)面圖元顏色獲取需調(diào)用第二種類型函數(shù)getStyle(‘lable.color’)。JS腳本為graphView._dataModel.getDataByTag('Node_1').getStyle(‘text.col?or’),在Python中調(diào)用driver.execute_script(js)來獲取測(cè)點(diǎn)值變化后的圖元顏色,并進(jìn)行判斷是否與預(yù)期一致,一致則返回變色特性功能正確,不一致則返回變色特性功能錯(cuò)誤。

        6 實(shí)際應(yīng)用效果

        元素特性離線自動(dòng)化組態(tài)和在線自動(dòng)化驗(yàn)證的實(shí)現(xiàn),主要解決了以下幾個(gè)問題:

        (1)從根本上提高了測(cè)試效率,222條測(cè)試用例,執(zhí)行時(shí)間為32分鐘,平均每條用例用時(shí)9S左右,12個(gè)特性的測(cè)試時(shí)間由原來的7人/日,提高到1人/時(shí),測(cè)試報(bào)告詳細(xì)信息見圖7和圖8所示。

        圖7 測(cè)試報(bào)告概覽

        圖8 測(cè)試報(bào)告詳細(xì)信息

        (2)提高了測(cè)試用例執(zhí)行的可靠性,精確度高,無人為誤差。

        (3)自動(dòng)化測(cè)試具有復(fù)用性,可應(yīng)用到單元測(cè)試和系統(tǒng)測(cè)試中。

        (4)具有可擴(kuò)展性,只需微小變動(dòng)就可應(yīng)用到云平臺(tái)項(xiàng)目的元素特性測(cè)試中。

        7 結(jié)語(yǔ)

        本文主要介紹了HolliView項(xiàng)目動(dòng)態(tài)交互特性自動(dòng)化測(cè)試實(shí)現(xiàn)方法,依據(jù)HolliView離線編輯器界面架構(gòu),基于Python,通過注入JS腳本方式,突破了以往Canvas畫布元素難以定位的難題,既實(shí)現(xiàn)了離線自動(dòng)化組態(tài),又實(shí)現(xiàn)了在線元素特性功能自動(dòng)驗(yàn)證,既為HolliView項(xiàng)目其他功能的自動(dòng)化測(cè)試實(shí)現(xiàn)奠定了基礎(chǔ),也為其他相關(guān)項(xiàng)目的相關(guān)測(cè)試提供了思路,具有很高的實(shí)用價(jià)值。

        猜你喜歡
        圖元編輯器測(cè)試用例
        一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運(yùn)用
        學(xué)術(shù)出版物插圖的編排要求(一):圖注
        聯(lián)鎖表自動(dòng)生成軟件的設(shè)計(jì)與實(shí)現(xiàn)
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        你距離微信創(chuàng)作達(dá)人還有多遠(yuǎn)?
        車輛段收發(fā)車運(yùn)行圖編輯器的設(shè)計(jì)與實(shí)現(xiàn)
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        基于Qt繪圖系統(tǒng)的圖形應(yīng)用優(yōu)化研究與實(shí)現(xiàn)
        軟件(2016年12期)2016-02-13 05:58:14
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        基于VLIW目標(biāo)機(jī)的ELF二進(jìn)制編輯器設(shè)計(jì)與實(shí)現(xiàn)
        成人性生交大片免费| 日本一区二区三区丰满熟女| 45岁妇女草逼视频播放| 国产成+人+综合+亚洲欧美丁香花| 欧美黑人巨大xxxxx| 99久久精品一区二区三区蜜臀| 少妇又色又爽又刺激的视频| 国产自拍高清在线观看| 国产精品久久久久久婷婷| 囯产精品无码va一区二区| 一区二区三区熟妇人妻18| 新中文字幕一区二区三区| 国产裸体xxxx视频在线播放| 欧美中文在线观看| 免费在线观看视频专区| 日本高清乱码中文字幕| 亚洲第一se情网站| 久久精品国产亚洲不av麻豆| 亚洲国产人成自精在线尤物| 狠狠色噜噜狠狠狠狠97首创麻豆| 思思久久96热在精品国产| 色噜噜狠狠色综合中文字幕| 亚洲偷自拍国综合第一页国模| 无套熟女av呻吟在线观看| 洗澡被公强奷30分钟视频| 久久亚洲av成人无码软件| 成人国产一区二区三区av | 亚洲av色香蕉一区二区三区软件| 亚洲av成人无码久久精品老人| 性动态图av无码专区 | 中文字幕精品乱码一区| 尹人香蕉久久99天天拍| 99精品热这里只有精品| 午夜无码熟熟妇丰满人妻| 99久久精品一区二区国产| 一本色道久久88精品综合| 亚洲A∨无码国产精品久久网| 国产人妖直男在线视频| 伊甸园亚洲av久久精品| 国产精品一区二区 尿失禁| 亚洲视频在线观看青青草|