[發明專利]一種跨系統的金融自助設備SP自動測試方法、設備及介質有效
| 申請號: | 202010594849.1 | 申請日: | 2020-06-28 |
| 公開(公告)號: | CN111752840B | 公開(公告)日: | 2023-08-08 |
| 發明(設計)人: | 劉艷蘭;唐超;楊雋;余彬;趙建青 | 申請(專利權)人: | 中電長城(長沙)信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G07F19/00 |
| 代理公司: | 長沙市融智專利事務所(普通合伙) 43114 | 代理人: | 龔燕妮 |
| 地址: | 410205 湖南省長沙市長沙高*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 系統 金融 自助 設備 sp 自動 測試 方法 介質 | ||
1.一種跨系統的金融自助設備SP自動測試方法,其特征在于,包括以下步驟:
步驟1,測試工具生成基于JSON對象的測試指令;
步驟2,轉換模塊將基于JSON對象的測試指令轉換為基于CEN/XFS結構體的測試指令;
轉換模塊包括由執行命令、狀態命令、事件這三類配置信息轉換生成的配置文件,且金融自助設備的每個待測模塊均有各自對應的配置文件;
每個配置文件均參照金融自助設備的CEN/XFS文件中的定義,包括以下信息:
第1部分:待測模塊的類定義信息;
第2部分:執行命令的關鍵字和具體數值的對應關系,狀態命令的關鍵字和具體數值的對應關系,事件的關鍵字和具體數字的對應關系;
第3部分:結構體信息,包含執行命令、狀態命令和事件的結構體;在結構體中用整型表示該結構體是執行命令、狀態命令還是事件;其中,每個結構體中的簡單數據元素的關鍵字,按與CEN/XFS文檔相同進行定義;結構體指針使用關鍵字定義;結構體中的非簡單數據元素的關鍵字,在結構體配置信息中做配置;
第4部分:執行命令、狀態命令的輸入項和輸出項,事件的結果說明項;
所述轉換模塊將基于JSON對象的測試指令轉換為基于CEN/XFS結構體的測試指令,具體方法為:
步驟A1,輸入基于JSON對象的測試指令,提取參數命令字、類型字段和JSON對象;
步驟A2,根據類型字段和命令字查找配置信息,如果配置信息無,表示結構體為NULL,不需要轉換,轉換結果成功,結構體指針為NULL,執行步驟A5;否則執行步驟A3,默認節點為父節點;
步驟A3:根據結構體配置信息、節點信息分配空間,并且根據配置信息中的結構體項的關鍵字查找JSON對象的對應關鍵字的值:如果不存在或者JSON對象類型錯,則報錯,執行步驟A5;如果存在且對應結構體子項為簡單對象,執行步驟A4;如果存在且對應結構體子項為結構體指針,遞歸執行步驟A3,節點為子節點;執行完配置信息中的配置項,執行步驟A6;
步驟A4:將簡單對象轉換成CEN/XFS?結構體中的一項:對于簡單的數據類型根據配置信息中字段長度分配空間,然后把數據類型的值進行賦值轉換;對于復雜的CEN/XFS?結構體類型按以下方式進行處理:
兩個0x00結尾的字符串,字符串都是可見字符使用JSON字符串數組來表示,0x00?結尾的字符串是數組的一項,兩個0x00?結尾的字符串表示數組完成;
三個0x00結尾的字符串,字符串都是可見字符使用JSON二維字符串數組表示,0x00?結尾的字符串組成數組的一項,兩個0x00?結尾的字符串一維數組完成,三個0x00結尾二維數組完成;
對于LPBYTE?類型的,字符是不可見字符,提供一個擴展的字符串,把擴展的字符串中的兩個字節壓縮成一個字節,完成JSON對象轉換成LPBYTE;
對于一個結構體數組指針,提供JSON傳遞結構體數組,按照數組元素的個數,分配個數+1個指針數組空間,每個指針指向對應元素結構體轉換的空間;最后一個指針內容指向空;
執行完該步驟,如果執行成功繼續跳轉到步驟A3,執行失敗執行步驟A5;
步驟A5:釋放已經分配的空間,執行結果失敗,執行步驟A6;
步驟A6:輸出轉換的結果和轉換后的結構體指針,得到基于CEN/XFS結構體的測試指令;
步驟3,金融自助設備的SP服務接收基于CEN/XFS結構體的測試指令,并將其分配給測試指令對應的金融自助設備待測模塊,由待測模塊執行測試指令并生成基于CEN/XFS結構體的測試結果;
步驟4,轉換模塊將基于CEN/XFS結構體的測試結果轉換為基于JSON對象的測試結果;
所述轉換模塊將基于CEN/XFS結構體的測試結果轉換為基于JSON對象的測試結果,具體方法為:
步驟B1:輸入基于CEN/XFS結構體的測試結果,提取參數命名字、類型字段和C語言結構體;
步驟B2:通過命令字和類型字段查找配置信息,如果配置信息無,表示結構體為NULL,不需要轉換,轉換結果成功,JSON對象為空對象,執行步驟B4;否則執行步驟B3;
步驟B3:根據配置信息描述的結構體,來完成CEN/XFS結構體跟JSON對象之間的轉換,配置信息結構體由多個子結構組成,如果子結構體為簡單對象,執行步驟B4完成轉換;如果該子結構體為結構體指針,需要遞歸執行步驟B3,執行完成執行步驟B5;如果轉換失敗,則轉換失敗,執行步驟B5;
步驟B4:CEN/XFS?結構體中的一項轉換成JSON?對象的值,如果簡單的數據類型WORD、DWORD、LPSTR類型的轉換直接轉換即可;對于復雜的CEN/XFS?類型按以下方式進行處理:
兩個0x00結尾的字符串,字符串都是可見字符使用JSON字符串數組來表示,0x00?結尾的字符串是數組的一項,兩個0x00?結尾的字符串表示數組完成;
三個0x00結尾的字符串,字符串都是可見字符使用JSON二維字符串數組表示,0x00?結尾的字符串組成數組的一項,兩個0x00?結尾的字符串一維數組完成,三個0x00結尾二維數組完成;
對于LPBYTE?類型的,需要先根據配置信息找到決定長度的字段,并獲取到字段的值,這個數值就是要轉換的LPBYTE的長度;由于LPBYTE指向的字符是不可見字符,JSON對象不能表示不可見字符,方法就是把一個字符擴展成兩個字符,再把這些字符拼接成一個字符串,成為一個JSON字符串對象,即完成LPBYTE轉換成JSON字符串對象;
對于一個結構體數組指針,如果數組的結構體指針不是空,那么就把指向結構體的指針轉換成JSON的一個對象,在把這個JSON對象放入數組中;結構體指針為空,完成結構體數組指針JSON數組;
執行完該步驟,繼續跳轉到步驟B3;
步驟B5:輸出轉換的結果和轉換后JSON對象;
步驟5,測試工具接收基于JSON對象的測試結果,并解析和顯示測試結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中電長城(長沙)信息技術有限公司,未經中電長城(長沙)信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010594849.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:交通路況確定方法及電子設備
- 下一篇:一種非直角防水密封墊轉角結構





